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.水平拆分与垂直拆分

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

  • 相关阅读:
    CSS3的box-sizing属性
    html5 --基础笔记2
    html5--基础笔记
    CSS3--阴影,渐变,背景图片
    响应式布局--流式布局
    angular中的this指向问题
    angular中控制器之间的通讯方式
    angular中的$http配置和参数
    console
    h5表单验证的css和js方法
  • 原文地址:https://www.cnblogs.com/00986014w/p/8463826.html
Copyright © 2011-2022 走看看