mysql mysql中tinyint、smallint、int、bigint的区别 tinyint 从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据。存储大小为 1 个字节。 unsigned 是从 0 到 255 的整型数据。 所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。 smallint 从 -2^15 (-32,768)
mysql mysql group_concat长度限制 问题描述 1. SELECT GROUP_CONCAT(字段名) FROM 表 WHERE a='值'; 2. SELECT count(字段名) FROM 表 WHERE a='值'; 语句1的结果集小于语句2的数量 问题原因 mysql对group_concat的长度做了限制 解决方案 改变当前会话默认查询长度 1. SET SESSION group_concat_max_len
mysql mysql幻读 在可重复读下,mvcc是否解决了幻读问题 测试一 事务1 set autocommit = 0; select * from temp; 事务2 insert into temp (id,name)values(2,"60") 事务1 select * from temp; 总结 在可重复读模式下,查询不到新提交的insert语句 测试二 事务1 set autocommit = 0;
mysql mysql之binlog操作 获取binlog文件列表 show binary logs; 查看当前正在写入的binlog文件 show master status 查看指定binlog文件的内容 show binlog events in 'mysql-bin.000002'; 查看binlog具体内容 mysqlbinlog -u temp_admin -h psi.mysql.test.tcit.cc -P 3306 --read-from-remote-server -p --base64-output="decode-rows&
mysql mysql explain详解 简介 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. 准备 user_info CREATE TABLE `user_info` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL DEFAULT '',
mysql mysql 关键字 union MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 sql准备 CREATE TABLE `user_info` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL DEFAULT '', `age` INT(11) DEFAULT NULL,
mysql mysql行锁分析 mysql锁的原则 原则 1:加锁的基本单位是 next-key lock。next-key lock 是前开后闭区间。 原则 2:查找过程中访问到的对象才会加锁。 2.1: 若字段上无索引,因要根据id查询所有的数据,所以所有数据均会加上next-key lock 2.2: 若字段上有普通索引,则只有访问到的数据添加next-key lock,但是最后一条由于不满足,所以根据优化2,退化为间隙锁 优化 1:索引上的等值查询,给唯一索引加锁的时候,next-key lock 退化为行锁。
mysql 数据库事务的四大特性 四大特性 原子性(Atomicity):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚 一致性(Consistency):一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。 拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。 隔离性(Isolation):隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。 即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。 持久性(Durability):持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。
mysql mysql之慢日志 查询mysql慢日志是否开启 show variables like '%slow_query_log%'; 开启mysql慢日志 set global slow_query_log=1; 使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。如果要永久生效,就必须修改配置文件my.cnf(其它系统变量也是如此) 查看及设置慢日志记录时间 查看慢日志记录时间 show variables like 'long_