MySQL
文章平均质量分 62
h254532699
这个作者很懒,什么都没留下…
展开
-
【MySQL性能优化】改进MySQL Order By Rand()的低效率
最近由于需要研究了一下MYSQL的随机抽取实现方法。举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是: SELECT * FROM content ORDER BY RAND() LIMIT 1 。 【飘易注:3万条记录查询花费 0.3745 秒(下同);从mysql slow query log看出“ORDER BY RAND() ”全表扫描了2次!】后来我查转载 2017-01-10 22:08:48 · 636 阅读 · 0 评论 -
SQL中的REPLACE替换字符函数的用法(使之支持text/ntext)
语法 REPLACE ( original-string, search-string, replace-string ) 参数 如果有某个参数为 NULL,此函数返回 NULL。 original-string 被搜索的字符串。可为任意长度。 伦理片 http://www.dotdy.com/ search-string 要搜索并被 replac转载 2017-01-10 22:10:27 · 2155 阅读 · 0 评论 -
查看mysql数据库 数据量大小和索引数据大小方法
查看某个数据库的数据量 和索引量的大小Java代码 SELECT SUM(DATA_LENGTH)/ 1024 / 1024 + SUM(INDEX_LENGTH)/ 1024 / 1024 FROM information_schema. TABLES WHERE TABLE_SCHEMA = 'ice_prod转载 2017-01-10 22:13:08 · 1947 阅读 · 0 评论 -
MySQL运行原理与基础架构细说
1.MySQL基础 MySQL是一个开放源代码的关系数据库管理系统。原开发者为瑞典的MySQL AB公司,最早是在2001年MySQL3.23进入到管理员的视野并在之后获得广泛的应用。 2008年MySQL公司被Sun公司收购并发布了首个收购之后的版本MySQL5.1,该版本引入分区、基于行复制以及plugin API。移除了原有的BerkeyDB引擎转载 2017-01-10 22:15:59 · 22863 阅读 · 0 评论 -
MySQL中的共享锁与排他锁
共享锁(Share Lock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。用法 伦理片 http://www.dotdy.com/ SELECT ...转载 2017-01-10 22:18:29 · 487 阅读 · 0 评论 -
MySQL在Linux找不到表名-处理忽略大小写
Linux找到my.cnf文件 Java代码 # find / -name my.cnf 修改解决大小写问题 在文件中补充:lower_case_table_names=1 Java代码 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/m转载 2017-01-10 22:19:33 · 1965 阅读 · 0 评论 -
【MySQL】MySQL性能优化之Block Nested-Loop Join(BNL)
一 介绍 相信许多开发/DBA在使用MySQL的过程中,对于MySQL处理多表关联的方式或者说性能一直不太满意。对于开发提交的含有join的查询,一般比较抗拒,从而建议将join拆分,避免join可能带来的性能问题,同时也增加了程序和DB的网络交互。 5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop)。如果关联表的数据量很大,则join关联的转载 2017-01-10 22:20:25 · 6493 阅读 · 0 评论 -
MySQL 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
前言: 关于多级别菜单栏或者权限系统中部门上下级的树形遍历,oracle中有connect by来实现,mysql没有这样的便捷途径,所以MySQL遍历数据表是我们经常会遇到的头痛问题,下面通过存储过程来实现。伦理片 http://www.dotdy.com/ 1,建立测试表和数据:DROP TABLE IF EXISTS csdn.channel; CRE转载 2017-01-10 22:21:01 · 532 阅读 · 0 评论 -
SQL语句优化
1、count(*) count(列) 没有索引的情况下,两者一样快; 有索引的情况下,如果这一列允许为 null,则count(列)快,若不允许为空,则一样快! 这是由于count(*)与count(列)不等价,count(*)所有列只要有一列不为null,就会被统计出来,count(列)只要这一列为null,就不会被统计出来! 所以,count(列)所谓的快是没有把数据统计完转载 2017-01-11 13:17:54 · 343 阅读 · 0 评论