mysql优化

    技术2022-07-10  157

    对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:

    1.数据库设计 通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):

    第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;(只要是关系型数据库都满足1NF)

    第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识(设置主键),即实体的惟一性;

    第三范式:3NF是对字段冗余性的约束,即我们的字段信息可以通过关联的关系,派生即可.(通常我们通过外键来处理)

    但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。

    具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

    2.sql语句优化 通过show status命令了解服务器状态信息 定位执行效率较低的SQL语句(重点select语句) 通过explain分析低效率的SQL语句的执行情况 确定问题并采取相应的优化措施

    查看慢查询时间 show variables like 'long_query_time'; 

    查看慢查询次数 show status like 'Slow_queries';

    在什么列上添加索引比较合适?

    ① 在经常查询的列上加索引.

    ② 列的数据,内容就只有少数几个值,不太适合加索引.

    ③ 内容频繁变化,不合适加索引

    3.数据库参数配置

    4.恰当的硬件资源和操作系统

    这个顺序也表现了这四个工作对性能影响的大小

    Processed: 0.010, SQL: 9