`

MySQL表锁情况和文件打开数

 
阅读更多

1. 缘起

    我们所有Mysql的db引擎是MyISAM,在高并发的情况下,表级锁存在很严重的问题。

    如下:

   Mysql参数

 

2. MySQL表锁情况学习

  1. mysql> show global status like 'table_locks%';  
  2. +-----------------------+-----------+  
  3. | Variable_name | Value |  
  4. +-----------------------+-----------+  
  5. | Table_locks_immediate | 490206328 |  
  6. | Table_locks_waited | 2084912 |  
  7. +-----------------------+-----------+ 

Table_locks_immediate表示立即释放MySQL表锁数,Table_locks_waited表示需要等待的MySQL表锁数,如果Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎,因为InnoDB是行锁而MyISAM是MySQL表锁,对于高并发写入的应用InnoDB效果会好些。示例中的服务器Table_locks_immediate / Table_locks_waited = 235,MyISAM就足够了。

因此,在数据库选择引擎时需要考虑DB的USE CASE。如果读写操作频繁推荐InnoDB引擎,如果只有读操作或写操作不频繁可以选择MyISAM,就查询而言MyISAM比InnoDB快。

3. 参考地址:http://database.51cto.com/art/201010/229971.htm

  • 大小: 2 KB
分享到:
评论

相关推荐

    mysql常用性能查询语句

    本文总结了一些常用的 MySQL 性能查询语句,帮助数据库管理员和开发人员更好地了解和优化数据库性能。 1. 查看 MySQL 本次启动后的运行时间(单位:秒) 使用语句:show status like 'uptime'; 该语句可以查看 ...

    mysql日常维护

    - 打开`my.ini`配置文件,找到`max_connections`参数,将其设置为一个合适的值。默认情况下,该值通常设置为100。然而,根据服务器的硬件配置,可以适当增加这个值。例如,在Windows服务器上,推荐的最大连接数为...

    MySQL最佳优化完美攻略

    - **打开文件数量**: 增加系统和MySQL服务器的最大打开文件数量, 例如在Linux下使用`ulimit -n #`命令。 - **进程和线程数量**: 增加系统可以处理的进程和线程数量。 - **文件系统优化**: 在Solaris系统中, 可以告诉...

    2009系统架构师大会PPT:叶金荣:MySQL优化

    - 初始化、查询缓存检查、打开表、获取系统锁、表锁、初始化、优化等阶段的耗时。 - 关注查询数据、结束、存储结果、释放资源、关闭表、记录慢查询等操作的时间开销。 #### 总结与建议 - **持续监控**:定期监控...

    MySQL-Crash-Cause-50:《 MySQL必知必会》 50题

    7. **操作系统限制**:操作系统的资源限制,如打开文件数限制,可能会导致MySQL在处理大量并发连接时崩溃。 8. **配置错误**:不合适的MySQL配置参数,如max_connections,可能引发服务器过载。定期检查并优化配置...

    简单谈谈 php 文件锁

    例如,在某些场景下,人们可能会考虑使用MySQL的表锁来协调多个PHP进程之间的文件访问,因为数据库锁提供了更为强大和可靠的控制机制。 此外,在设计高并发系统时,除了文件锁外,还可以采用消息队列、读写分离、...

    简单了解MySQL数据库优化技巧

    - 参数调整:例如,`max_connections`应设置为最大连接数的80%左右,`sort_buffer_size`可增大至16M,`open_files_limit`应足够高,以避免文件打开限制问题。对于MyISAM和InnoDB,分别调整各自的参数如`key_buffer_...

    43.要不要使用分区表?1

    3. **资源占用**:首次打开分区表时,MySQL需要访问所有分区,可能导致较高的内存和CPU消耗。同时,所有分区共享同一个元数据锁(MDL),可能影响并发性能。 4. **适用场景**:分区表适合大数据量且有规律可循的...

    MyISAM和InnoDB引擎优化分析

    MySQL数据库的优化是一个重要的主题,特别是对于存储引擎的选择和配置,因为这直接影响到数据库的性能。在MySQL中,MyISAM和InnoDB是最常见的两种存储引擎,各自具有独特的特性和优化策略。 MyISAM引擎以其快速的...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...

Global site tag (gtag.js) - Google Analytics