从品牌网站建设到网络营销策划,从策略到执行的一站式服务
查询的时候按id排序,查到哪个了就把这个id记下来,下次从这个id开始继续查,这样不能解决吗?
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比丰城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式丰城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖丰城地区。费用合理售后完善,十多年实体公司更值得信赖。
使用子查询优化大数据量分页查询
这种方式的做法是先定位偏移位置的id,然后再往后查询,适用于id递增的情况。
使用id限定优化大数据量分页查询
使用这种方式需要先假设数据表的id是连续递增的,我们根据查询的页数和查询的记录数可以算出查询的id的范围,可以使用 id between and 来查询:
当然了,也可以使用in的方式来进行查询,这种方式经常用在多表关联的情况下,使用其他表查询的id集合来进行查询:
但是使用这种in查询方式的时候要注意的是,某些MySQL版本并不支持在in子句中使用limit子句。
参考 sql优化之大数据量分页查询(mysql) - yanggb - 博客园 (cnblogs.com)
表的结构再简单,也架不住数据量庞大啊。只有2个字段的表,查询语句上好像也做不出什么优化。个人想法是,防伪码不会经常被查。一般一个防伪码被查个两三次就差不多了吧,是否可以考虑把建立时间较久远的防伪码去除,只保留一段时间以内的。或者按序列号创建时间分表存储数据,时间较为久远的数据单独放一张表;近期的新序列号放在另一张表,增加序列号生成时间字段。但凡在一定的创建时间之前的老序列号,就去查老表老数据,否则就查新表新数据。序列号的生成应该是有规律的吧,大数据只能分表来提升查询效率。
告诉你个笨办法,
你到data下进入数据库名文件下看看表文件的大小就知道了,一般数据越多文件越大;
数据太少不明显。
在mysql的information_schema下有存储数据库基本信息的数据字典表,可以通过查询tables表来获得所需要的表相关信息。
ID已经设为主键了
200万的表跟4万的表,除非你系统的硬盘、内存、CPU配置特低,否则,效率上不至于你说的那么慢的(我普通的台式机CPU为1.5G的都不至于那么慢)
肯定有优化的余地,hi我吧
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图