版权声明:本文为HCG原创文章,未经博主允许不得转载。请联系[email protected] https://blog.csdn.net/qq_39455116/article/details/84400995
1. 查询数据库的版本
可以直接在navcat中查询,不同的数据源版本是不一样的,依赖于你MySQL服务器
select version();
2. 新建索引的时候指定索引长度
通过减小索引长度,这样能够减小索引文件的大小,能够加快数据的insert。
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。
这个length的用处是什么?
alter table accounts add index cnNameIndex (cn_name(10));
格式:
CREATE INDEX index_name ON table_name (column_name(length), clolumn_name(length)…);
3. 模糊查询使用索引
EXPLAIN SELECT * from accounts where cn_name like '%大%' ;
没有使用
EXPLAIN SELECT * from accounts where cn_name like '%大%' ;
使用
区别就是第一个 % 去掉了
4. 但是有的时候,不适用
我们在做模糊查询的时候,并非要想查询的关键词都在开头,所以如果不是特别的要求,"keywork%"并不合适所有的模糊查询,这样想要在进行模糊查询的列通过索引查询好像失败了,我们把刚才的索引删了把
alter table accounts drop index cnNameIndex ;
5. 使用其它的方法
SELECT `column` FROM `table` WHERE LOCATE('keyword', `field`)>0
SELECT `column` FROM `table` WHERE POSITION('keyword' IN `filed`)
location和position的效果一样
SELECT * FROM `person` WHERE FIND_IN_SET('apply',`name`);