索引建立场合: ① where后边字段 适合建立索引 ② order by 排序字段适合建立索引 ③ 索引覆盖 即 所要查询的字段本身就是索引 直接在索引中查询数据. 例如 select name,age from man 其中name,age 本身具有索引. ④ 连表查询 (外键设置索引) 在生产活动中,一般不使用外键索引.而是使用普通索引代替外键索引. ⑤建立索引字段需要离散度较高字段,例如性别这种字段不适合建立索引,(建立也会用不上索引会走表扫描形式) 索引使用原则 ① 字段独立 sele…
对于大数据量的表格,尤其是百万行以上的数据表,一定要对其建立索引,否则查询速度极慢.(参考后面的测试结果)建立索引时需注意: MySQL的索引有两种:单列索引(即在某一列上建索引).多列组合索引(即在多个列上建立同一个索引),不像SQL Server分聚集索引,非聚集索引. 如何建立单列索引: 格式:CREATE INDEX 索引名 on 表名(列名) 例如:CREATE INDEX idx_geoinfo_tiny_cabid ON geoinfo_tiny (cabid)#创建一个名为idx…
建索引的几大原则 1. 最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>.<.between.like)就停止匹配,比如a 1="" and="" b="2" c=""> 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整.2.=和in可以乱序,比如a = 1 and b =…
第一:选择唯一性索引 唯一性索引的值是唯一的,可以更快捷的通过该索引来确定某条记录. 2.索引的列为where 后面经常作为条件的字段建立索引 如果某个字段经常作为查询条件,而且又有较少的重复列或者是唯一咧可以考虑作为索隐列 经常作为查询条件的列作为索引会提高速度 3.位经常需要进行排序.分组和联合操作的的字段建立索引. order by group by distinct union 这种情况下在查询的时候排序会浪费很多的时间, 如果为其建立索引可以有效的避免排序操作. 4.限制索引的的数…