- 开启查询缓存,优化查询。
explain
你的select
查询,这可以帮你分析你的查询语句或是表结构的性能瓶颈。EXPLAIN
的查询结果还会告诉你你的索引主键被如何利用的,你的数据表是如何被搜索和排序的。- 当只要一行数据时使用
limit 1
,MySQL
数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据。 - 为搜索字段建索引。
- 使用
ENUM
而不是VARCHAR
。如果你有一个字段,比如“性别”、“状态”或“部门”,你知道这些字段的取值是有限而且固定的,那么,你应该使用ENUM
而不是VARCHAR。
Prepared Statements
,预编译语句Prepared Statements
很像存储过程,是一种运行在后台的SQL
语句集合,我们可以从使用prepared statements
获得很多好处,无论是性能问题还是安全问题。Prepared Statements
可以检查一些你绑定好的变量,这样可以保护你的程序不会受到“SQL
注入式”攻击。- 垂直分表;
- 根据业务需求,选择合适的存储引擎。
转自:https://xushanxiang.com/2019/11/mysql-optimization-tips.html