Mysql性能提升


MySQL数据库操作性能提升point:

1.批量的增删改

尽量减少java 的jdbc和数据库的通信次数
先不把待处理sql语句发给数据库,先装入preparestatement.addBartch()加入批处理包------->preparstatment.execuateBatch()把批处理包中所有的sql语句一次性全部发给数据库(配置:URL=“jdbc:mysql://localhost:3306/test?rewriteBatchedStatement=true”)

2.查询性能提升

避免全表扫描
Preparestatement.setFetchsize(1000);
设置默认的defaultFetchsize=1000;
URL=“jdbc:mysql://localhost:3306/test?rewriteBatchedStatement=true&useCursorFetch=true&defaultsize=50”
提升查询最有效的办法就是建立数据库索引。索引是对现有数据库进行排序,在排序结果中搜索,效率会很高。

3.数据库的表越小,在它上面执行的查询越快。

因此在创建表的时候尽可能将表中的字段设置的尽可能小。尽量把字段设为not null ,这样在执行查询的时候就不用去比较null值。

4.使用join连接来代替子查询

避免事物或者表锁死,提高速度和查询性能。是因为mysql不需要在内存中建立临时表来完成逻辑上需要两个步骤的查询操作。

5.使用联合UNION代替手动创建的临时表

MySQL从4.0的版本开始支持union查询,它可以把需要使用临时表的两条或更多的select查询合并的一个查询中

6.事务

(1)保持数据库中数据的一致性和完整性。
(2)当多个数据同时使用相同的数据源时,它可以利用锁定数据库的分区昂奋来为用户提供一种安全的访问方式,保证 用户的操作不被其他用户所干扰。
BEGIN;
INSERTINTOsalesinfoSETCustomerID=14;
UPDATEinventorySETQuantity=11WHEREitem=‘book’;
COMMIT;

7.使用外键

保证数据的关联性

8.尽量不使用like

发布了120 篇原创文章 · 获赞 59 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/lr1916417519/article/details/88140285