>데이터 베이스 >MySQL 튜토리얼 >对mysql存储性能优化的基本理解

对mysql存储性能优化的基本理解

WBOY
WBOY원래의
2016-06-07 16:19:14815검색

这几天了解了下关于mysql数据库的性优化和设计方面的内容,现在做一下自己学习的小结,后续我会继续深入学习,完善下总结: 1、使用索引 每张表最多可以做16个索引,支持多列索引和全文索引 建立索引:create index index_name on users(username); 查看索引

   这几天了解了下关于mysql数据库的性优化和设计方面的内容,现在做一下自己学习的小结,后续我会继续深入学习,完善下总结:

  1、使用索引

  每张表最多可以做16个索引,支持多列索引和全文索引

  建立索引:create index index_name on users(username);

  查看索引:show index from users;

  是一把双刃剑,建不建立索引,主要看表的功能,找好一个平衡点,。

  2、使用explain分析查询

  在查询在用explain

  explain select *from users;

  3、调整mysql内部配置

  (1)、改变索引缓冲区长度(key_buffer);

  推荐设置整个系统内存的25%。

  (2)、改变表长(read_buffer_size)

  当数据库对某个表进行频繁的扫描的时候,mysql会分配一段内存缓冲区,如果觉得扫描进行的太慢,可以适当将该值大小。

  (3)、设定打开表的数目的大小(table_cache)

  该变量控制mysql在任何时候打开表的最大数目,由此来控制服务器响应输入请求的能力。他跟max_connections

  (4)、对缓查询设定一个时间限制(long_query_time)

  ySQL带有“慢查询日志”,它会自动地记录所有的在一个特定的时间范围内尚未结束的查询。这个日志对于跟踪那些低效率或者行为不端的查询以及寻找优化对象都非常有用。long_query_time变量控制这一最大时间限定,以秒为单位。也可设置为ms,但是需要打补丁。

  至于安全方面的考虑,,比如测试数据库和线上分离、备份、主从等,这些后续再谈,时间紧迫,先写这么多,待续...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:mysql的问题2다음 기사:oracle性能34条优化技巧