您的位置:首页 > 数据库 > MySQL

mysql index

2016-04-11 12:40 609 查看
最近搞几次和mysql index有关系
1、如果存在就不插入,改为更新,update on exist,必须要设置index,否者语句会报错的

2、有些检索就是慢。。。。。
添加index的顺序为 col1, col2, col3 则下面几条语句会用到index
SELECT * FROM table_name WHERE col1='xx';
SELECT * FROM table_name WHERE col1='xx' AND col2='xx';
SELECT * FROM table_name WHERE col1='xx' AND col2='xx' AND col3='xx';

而不会用到index的查询语句如下:
SELECT * FROM table_name WHERE col3='xx' AND col2='xx';
SELECT * FROM table_name WHERE col2='xx';
SELECT * FROM table_name WHERE col3='xx';

总结起来就是,index是有一个顺序的,要用到index必须从index的开头起,中间连续不断,但不一定要到结尾。
(PS:如果发现在使用一些ORM的时候,没有利用到建立好的index,则可以查看orm对应执行的SQL语句,检查是否符合index使用规则)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: