广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    Monty说MySQL的优化(五)

    2018-04-09 07:41:42 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

      二十一、MySQL表高速缓存工作原理

      每个MyISAM表的打开实例(instance)使用一个索引文件和一个数据文件。如果表被两个线程使用或在同一条查询中使用两次,MyIASM将共享索引文件而是打开数据文件的另一个实例。

      如果所有在高速缓存中的表都在使用,缓存将临时增加到比表缓存尺寸大些。如果是这样,下一个被释放的表将被关闭。

      你可以通过检查mysqld的Opened_tables变量以检查表缓存是否太小。如果该值太高,你应该增大表高速缓存。

      二十二、MySQL扩展/优化-提供更快的速度

      使用优化的表类型(HEAP、MyIASM或BDB表)。

      对数据使用优化的列。

      如果可能使用定长行。

      使用不同的锁定类型(SELECT HIGH_PRIORITY,INSERT LOW_PRIORITY)

      Auto_increment

      REPLACE (REPLACE INTO table_name VALUES (...))

      INSERT DELAYED

      LOAD DATA INFILE / LOAD_FILE()

      使用多行INSERT一次插入多行。

      SELECT INTO OUTFILE

      LEFT JOIN, STRAIGHT JOIN

      LEFT JOIN ,结合IS NULL

      ORDER BY可在某些情况下使用键码。

      如果只查询在一个索引中的列,将只使用索引树解决查询。

      联结一般比子查询快(对大多数SQL服务器亦如此)。

      LIMIT

      SELECT * from table1 WHERE a > 10 LIMIT 10,20

      DELETE * from table1 WHERE a > 10 LIMIT 10

      foo IN (常数列表) 高度优化。

      GET_LOCK()/RELEASE_LOCK()

      LOCK TABLES

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告