一、sql语句的优化
1.尽量少 join
MySQL 的优势在于简单,但这在某些方面其实也是其劣势。MySQL 优化器效率高,但是由于其统计信息的量有限,优化器工作过程出现偏差的可能性也就更多。对于复杂的多表 Join,一方面由于其优化器受限,再者在 Join 这方面所下的功夫还不够,所以性能表现离 Oracle 等关系型数据库前辈还是有一定距离。但如果是简单的单表查询,这一差距就会极小甚至在有些场景下要优于这些数据库前辈。
2、 尽量稍作计算
Mysql的作用是用来存取数据的,不是做计算的,做计算的话可以用其他方法去实现,mysql做计算是很耗资源的。
二、配置优化
配置的优化其实包含两个方面的:操作系统内核的优化和mysql配置文件的优化
1,mysql配置的优化,一般来说包含:IO处理的常用参数、最大连接数设置、缓存使用参数的设置、慢日志的参数的设置、innodb相关参数的设置等,如果有主从关系在设置主从同步的相关参数即可,网上的相关配置文件很多,大同小异,常用的设置大多修改这些差不多就够用了。
2,系统内核的优化对专用的mysql服务器来说,无非是内存实用、连接数、超时处理、TCP处理等方面的优化,根据自己的硬件配置来进行优化,这里不多讲。
3,尽量少排序
排序操作会消耗较多的 CPU 资源,所以减少排序可以在缓存命中率高等 IO 能力足够的场景下会较大影响 SQL的响应时间。
对于MySQL来说,减少排序有多种办法,比如:
通过利用索引来排序的方式进行优化减少参与排序的记录条数,非必要不对数据进行排序
设计数据库要满足三大范式:
第一范式:
1、拆分形成的表必须用外键关联起来。
2、只要数据列里面的内容出现重复,就意味着应该把表拆分为多个表
第二范式:
1、必须为每一组相关数据分别创建一个表
2、内容相似的数据列必须消除(消除的办法就是再创建一个数据表来存放他们,建立关联关系)
3、每条数据记录必须用一个主键来标示
第三范式:
与主键没有直接关系的数据列必须消除(消除的办法就是再创建一个表来存放他们.
SEO,SEO优化,网站优化,网站SEO,优化公司,关键词优化,关键词排名,搜索引擎优化,快速排名,网络推广,网站推广,SEO推广,SEO公司,网络营销,网络公司,网站排名,网络推广公司,网站推广公司,网站优化公司,整站优化,SEO培训