MySQL
未读
如何优化超大的分页查询?
在你开发程序的时候,使用 LIMIT 子句做分页查询可能是非常频繁的,这是一个非常常见的业务场景。 那你在使用 limit 子句的时候有没有遇到过什么问题呢,比如说性能不好? 在我做 DBA 的时候,曾经遇到过不少由于分页查询性能差,需要优化的案例。 那常见的原因基本上也都是分页过多。 过大的分页查
MySQL
未读
优化 sql 语句的一般步骤
一、通过 show status 命令了解各种 sql 的执行频率 mysql 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息,也可以在操作系统上使用 mysqladmin extend-status 命令获取这些消息。 show sta
MySQL
未读
为什么说MySQL单表行数不要超过2000W
实验 实验一把看看… 建一张表 CREATE TABLE person (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
person_id TINYINT NOT NULL COMMENT '用户id',
person_na
MySQL
未读
为什么表数据删掉一半,表文件大小不变
参数innodb_file_per_table控制着表数据存放为值,ON表示表数据放在.idb后缀文件中。OFF表示系统共享空间,默认值为ON。而且如果为OFF,则即使删除表,表空间也不会释放。推荐设置为ON。 delete 记录和表都不会释放表空间,会使得被释放的页被复用,也就是会产生空洞。 那如
MySQL
未读
MySQL分区表最佳实践
前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理。本篇文章给大家带来的内容是关于MySQL中分区表的介绍及使用场景,有需要的朋友可以参考一下,希望对
MySQL
未读
MySQL 的自增锁抢夺是什么意思?
在 MySQL 中,自增锁是一种特殊类型的锁,主要用于处理自增长字段的并发操作。当多个事务同时尝试插入新的记录到包含自增长字段的表时,自增锁就会起作用。 具体来说,MySQL会使用自增锁来确保每个新插入的记录都有一个唯一且递增的ID。当一个事务尝试插入新的记录时,MySQL会获取自增锁,分配一个新的
MySQL
未读
MySQL 开启慢 SQL 日志
1. 配置方法 修改 MySQL 配置文件(my.cnf 或 my.ini): [mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_querie
MySQL
未读
COUNT() 这么慢,我怎么办?
几种获取总数的方式 count(*) 会扫描全表,可能会影响性能。 Mysql做了优化,不取值,按行累加 count(字段) 表示满足条件的数据里,参数"字段"不为NULL的数量 count(id) 因为主键id不能为空,会按主键行累加 count(1) innodb遍历整个表,但不取值,返回给se