您的位置:首页 > 数据库

sql优化建议

2017-01-17 20:05 197 查看
1、少用(不用)多表操作(子查询,连接查询)

2、大量数据的插入
多条insert
load data into talbe
建议,先关闭约束及索引,完成数据插入,再重新生成索引及约束。
针对myisam:
> alter table 表名 disable keys; --禁用索引约束
> alter table 表名 enable keys; --启用
针对innodb:
drop index, drop constraint --删除二级索引,约束,要保留主键

set autocommit = 0;
begin transaction;
大量插入
commit;
add index, add constraint

insert into 表名 values();
insert into 表名 values();
insert into 表名 values();
或 insert into 表名 values(),(),();

3、分页
limit offset,size 的使用,会大大提升无效数据的检索。
应该使用条件过滤方式,将检索到的数据尽可能精确定位到需要的数据上。

4、order by rand()
通过某种运算,确定随机主键,然后从数据表中获取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: