数据库优化

mysql配置优化数据库

提高读取速度

  • 表建索引
  • 分区表
  • 优化查询语句
insert table values
select * from table limit 1
delete from table limit 1
避免使用匹配和排序,导致的效率低下

提高写入速度

  • innodb_flush_log_at_trx_commit = 0;
  • bulk_insert_buffer_size = 100000000; //设置成100M
  • 事务插入,减少操作时间(begin\commit),事务不能嵌套(嵌套的事务自动提交前面的数据,这影响效率,可以通过定时commit的方式提交数据),事务模式需要关闭自动提交功能

事务同时提交多条数据,提交单条数据,可以设置自动提交。
数据量到了100万条后,查询时间可以很明显的对比出来,设置事务有的数据库不一定能提高写入效率,例如redis

redis事务

multi\exec   //redis事务不能提高写入效率,反而降低,使用pipeline命令可以提高写入效率

多线程

多线程访问数据库使用多个数据库连接,不要跨线程使用同一个数据库连接,可以同netstat命令查看连接
数据库优化_第1张图片

你可能感兴趣的:(程序人生,mysql,优化)