Loading...
mysql的锁机制MySQL锁的基本介绍锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。相对其他数据库而言,M...
mysql调优(六)mysql日志mysql日志一般分为三种,redo log、undo log、bin log,其中redo与undo归属于innodb存储引擎,bin log归属于mysql server。事务具有4个特征ACID,A表示原子性,通过undo log实现,I为隔离性,通过锁来实现,D为持久性,通过redo log实现,A、I、D共同保证C,即一致性。当执行一个写操作,my...
mysql调优(五)分区表分区表的应用场景表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据分区表的数据更容易维护批量删除大量数据可以使用清除整个分区的方式对一个独立分区进行优化、检查、修复等操作分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备可以使用分区表来避免某些特殊的瓶颈innodb的单个索引的互斥访问ext3文件系统的inode锁竞...
mysql调优(四)查询优化在编写快速的查询之前,需要清楚一点,真正重要的是响应时间,而且要知道在整个SQL语句的执行过程中每个步骤都花费了多长时间,要知道哪些步骤是拖垮执行效率的关键步骤,想要做到这点,必须要知道查询的生命周期,然后进行优化,不同的应用场景有不同的优化方式,不要一概而论,具体情况具体分析。查询慢的原因网络CPUIO上下文切换系统调用生成统计信息锁等待时间优化数据访问查询性能...
mysql调优(三)通过索引进行优化索引的基本知识索引的优点大大减少了服务器需要扫描的数据量帮助服务器避免排序和临时表将随机io变成顺序io索引的用处快速查找匹配WHERE子句的行从consideration中消除行,如果可以在多个索引之间进行选择,mysql通常会使用找到最少行的索引如果表具有多列索引,则优化器可以使用索引的任何最左前缀来查找行当有表连接的时候,从其他表检索行数据查找特定索...
mysql调优(二)schema与数据类型优化合理使用范式和反范式范式优点:范式化的更新通常比反范式要快当数据较好的范式化后,很少或者没有重复的数据范式化的数据比较小,可以放在内存中,操作比较快缺点:通常需要进行关联反范式优点:所有的数据都在同一张表中,可以避免关联可以设计有效的索引缺点:表格内的冗余较多,删除数据时候会造成表有些有用的信息丢失在企业中很少能做到严格意义上的范式或者反范式,一...
mysql调优(一)mysql架构性能监控show profile使用show profile查询剖析工具,可以指定具体的type。此工具默认是禁用的,可以通过set profiling=1;命令开启,开启之后,服务器上执行的所有语句,都会测量其耗费的时间和其他一些查询执行状态变更相关的数据。通常在mysql命令行模式下,只能显示两位小数的时间,开启show profile之后,可以通过sh...