Mysql count
发布于:2019-3-3 11:45 作者:losetowin 浏览:1042 分类:技术Mysql Count(*)
Count(*)的实现方式
MyISAM
- 把一张表的总行数存储在磁盘上,这样count(*)时直接返回总行数,效果很高
- 但如果增加where条件,就不会这么快了,因为无法直接读取磁盘的总行数
InnoDb
- count(*)时,需要把数据一行行的从引擎中读出来,然后累计计数。
为什么不可以用M...
Mysql锁-表级别锁
发布于:2019-2-18 22:51 作者:losetowin 浏览:1214 分类:技术
表级别锁
表级别锁包含两种: 表锁和元数据锁
表锁
命令:
客户端和服务端断开时,服务端也会主动释放锁
lock table 除了限制其他线程的读写外,本身线程接下来的操作对象读写也受限制
例子:
线程A 执行 lock table t1 read, t2 write 时,线程B无法对t1写...
Mysql锁-行锁
发布于:2019-2-18 22:50 作者:losetowin 浏览:1067 分类:技术行锁
在引擎层由各个引擎自己实现
MyISAM不支持行锁,InnoDB支持行锁
- 不支持行锁,意味着并发控制只能使用表锁,即同一时刻,同一张表只能有一个线程在更新,其余的操作需要等待。会严重影响到业务的并发度
概念: 针对数据表中的行记录的锁
两阶段锁协议
- 在InnoDB事务中,行锁是在需要的时候才加上。 但并不是不需要的时候就释放,而是在...
Mysql锁-全局锁
发布于:2019-2-16 16:14 作者:losetowin 浏览:1095 分类:技术mysql锁
Mysql包含 全局锁, 表级锁, 行级锁三种
全局锁
介绍
全局锁就是对整个数据库实例加锁。
使用 命令 Flush tables with read lock (FTWRL)
来对数据库实例加全局锁。
加全局锁之后会怎样?
-
使用FTWRL命令后,下列操作将被堵塞:
- 数据更新语句(数据的增删改...
ERROR 1820 (HY000): You must reset your password using ALTER USER statement
发布于:2016-3-17 20:34 作者:losetowin 浏览:3251 分类:macmac osx安装mysql后,启动使用命令行登录之后,执行sql语句,提示错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement
Mac OSX 下安装mysql服务端
发布于:2016-3-17 20:15 作者:losetowin 浏览:3722 分类:macMysql删除数据后,磁盘空间未释放
发布于:2016-3-13 16:44 作者:losetowin 浏览:6358 分类:技术SQL随机从数据库中取出数据
发布于:2014-9-8 19:23 作者:losetowin 浏览:10748 分类:技术Select a random row with MySQL:
SELECT column FROM table
ORDER BY RAND()
LIMIT 1
Select a random row with PostgreSQL:
SELECT column FROM table
ORDER BY ...
MySQL:Got a packet bigger than 'max_allowed_packet' bytes解决办法
发布于:2014-5-4 16:47 作者:losetowin 浏览:11542 分类:技术问题描述:
使用insert语句插入的时候,报MySQL错误;Got a packet bigger than 'max_allowed_packet' bytes
原因:
说白了就是因为insert语句太长,导致超出了服务器所能接收的范围。
mysql默认的max_allowed_packet是...
ERROR 1366 (HY000): Incorrect string value错误解决办法
发布于:2013-12-29 15:06 作者:losetowin 浏览:45318 分类:Java原因主要是:字符集的问题
数据,当遇到提交中文信息的时候,问题总是比较多,我见过的出错的情况有两种: