一.架构
1.大栏目独立表
2.数据表竖向2G自动分表
二.数据库类
InnoDB、MyISAM混用
文章主表InnoDB引擎(所有查询读取基本全查询的此表InnoDB可有效避免锁表)
数据表MyISAM引擎竖向每2G自动分表方便维护管理
三.索引类
因为列表和查询类基本都是倒序排列,数据库尽量选择mysql8+ mariadb10.8+(支持倒序索引)8和10.8以下的数据库不支持倒序索引倒序排列很慢。。
建立相关查询字段复合索引并删除相关原单列索引
标签调用应sql尽量极简尽简。。尽量不使用花里胡哨的附加查询标签除非你必须需要。。。
针对灵动栏目调用
ALTER TABLE `phome_ecms_ask` ADD INDEX `istop_desc` (classid,istop desc,newstime desc);
ALTER TABLE `phome_ecms_ask` ADD INDEX `istop` (istop desc,newstime desc);
原classid字段索引删除不要了走复合索引更快
因灵动查询有N种组合方式,如需别的查询根据自己查询语句优化即可...尽量全站只保留3种以下的查询方式索引太多了也不行
如有mysqler可继续跟进优化.....放弃静态吧。。动态让你happy...
鉴于有些傻鸟开着py抓取上一篇..下一篇爬取内容建议注释掉上一页的查询语句。。。上一篇用的id倒序会导致全表查询数据量大会给你卡死数据库...最好方法是复制一个字段单独装倒序id。。但是需要改程序结构