MySQL优化小技巧
2016-07-27 23:43
344 查看
当提到查询数据库中某个指定起始位置到特定位置的数据时,我们的第一个反应是采用如下的语法格式:
这样的用法对小数量的数据无伤大雅,但是对于大数据里的数据假如有1000万条数据存在数据库中,我只想取最后的1000条,这是如果仍然用上面的语法的话则是:
limit是mysql的语法 select * from table limit m,n 其中m是指记录开始的index,从0开始,表示第一条记录 n是指从第m+1条开始,取n条。 select * from tablename limit 2,4 即取出第3条至第6条,4条记录
这样的用法对小数量的数据无伤大雅,但是对于大数据里的数据假如有1000万条数据存在数据库中,我只想取最后的1000条,这是如果仍然用上面的语法的话则是:
select * from table limit 9999000,1000
但是这样的话会给数据库带来很大的性能开销,会造成数据库频繁的I/O检索,等同于进行全表的扫描,对数据库的杀上力很大非常的不明智。
比较推荐的做法是(一般我们建立新表的时候为了方便都是去的id自增的即auto increment):那我们就可以采取一个变通如果还是取的是最后的1000条,我们可以这样写sql脚本:
select * from table where id > 9999000 limit 1000;这样可以利用主键的索引从而较好的减少了数据库的io检索操作。
相关文章推荐
- 企业之mysql5.7的主从复制
- mysqlbinlog 导出某时间段的是二进制日志
- mysql 搜寻附近N公里内数据的实例
- mysql-行锁的实现
- 利用MySQL创建一个简单的employee员工表并修改表
- MySQL的基本操作
- # mysqlbinlog mysql-bin.000004 mysqlbinlog: unknown variable 'default-character-set=utf8'
- Mysql入门
- MySQL数据库(9)----使用连接实现多表检索
- [置顶]MySQL 的相关语句(增删改查)(SQLyog软件实现)
- MySQL索引原理及慢查询优化
- MySQL索引原理及慢查询优化
- mysql 5.6 强行重新修改密码
- MySQL基础(二)
- 第三十二天 MySQL服务器日志、备份恢复、MySQLdump及xtrabackup的使用
- PostGIS/PostgreSQL vs. MySql vs. SQL Server
- mysql刷新mysql-bin
- win 10 安装 mysql解压版 步骤
- mysql的四种类型时间
- MySql 使用foreach标签 批量插入list中数据,主键自增,插入