zoukankan      html  css  js  c++  java
  • MySQL的一些优化方法

    1.Max的优化

    如果没有索引,max需要检索所有行才能得出结果,这里可以通过建立索引的方式进行优化:

    CREATE INDEX idx on products(price); 在products表中对price建立索引

    这样,再查询price的最大值就能迅速得出结果。

    2.子查询的优化

    下列子查询:

    SELECT id, name, price FROM products WHERE products.id IN (SELECT prod_id FROM vendors);

    可以用join方法进行优化:

    SELECT id, name, price FROM products INNER JOIN vendors ON products.id = vendors.prod_id;

    但是,如果vendors中含有重复的prod_id,则会返回重复的查询结果。因此,需要增加distinct关键字。

    3.Limit的优化

    避免使用LIMIT 500, 5等语句,因为会查询505行。当主键(例如id)顺序增加时,可以按照主键排序,并限定为id>500且<=505,这样会只查询出需要的5行结果。

    4.水平拆分与垂直拆分

    水平拆分是指将数据按照某些字段分成几个结构相同的表进行存储,从而提高查找效率。垂直拆分是指将表的几列拆分出来形成新表,避免表的列数过多。

  • 相关阅读:
    将图片保存到数据库中及转换
    svn 插件地址
    反射
    android 使用Sax 读取xml
    抓取 网页信息
    客户端测试
    简单多线程+委托+事件
    postman实战四
    Postman练习
    Jmeter练习二添加书籍信息
  • 原文地址:https://www.cnblogs.com/00986014w/p/8463826.html
Copyright © 2011-2022 走看看