1. 表的数据量过大时怎么处理:第一,索引优化以及sql语句优化,避免模糊查询和非索引查询,删改操作根据聚集索引进行,删改操作太频繁的话还是需要考虑分表;第二,根据需求考虑分表;第三,历史数据定期转存其他表
2、常用SQL语句优化:
第一, 数据库(表)设计合理(符合三范式:1NF :就是具有原子性,不可分割.(只要使用的是关系性数据库,就自动符合)2NF: 在满足1NF 的基础上,我们考虑是否满足2NF: 只要表的记录满足唯一性,也是说,你的同一张表,不可能出现完全相同的记录, 一般说我们在 表中设计一个主键即可.3NF: 在满足2NF 的基础上,我们考虑是否满足3NF:即我们的字段信息可以通过关联的关系,派生即可.(通常我们通过外键来处理);可以根据业务允许适当的反范式)
第二, sql语句的优化(索引优化以及sql语句优化,避免模糊查询和非索引查询,删改操作根据聚集索引进行以及分表.)
第三, 数据的配置(缓存设大)
第四, 适当硬件配置和操作系统 (读写分离.)
3. mysql中in的用法及特性
第一, in常用于where表达式中,其作用是查询某个范围内的数据,或者是查询一张表中的数据是否存在于另外一张表中。
第二,表数据量过大是查询速率慢,建议使用left join来优化查询
4. MySQL关于in和exists的优化
第一,优化原则:永远是小表驱动大表