随笔分类 - mysql
摘要:转载请注明出处:http://xiezhenye.com/2008/06/mysql%e5%91%bd%e4%bb%a4%e8%a1%8c%e5%ae%a2%e6%88%b7%e7%ab%af%e7%bb%93%e6%9e%9c%e5%88%86%e9%a1%b5%e6%b5%8f%e8%a7%88.html一个mysql命令行客户端的一个小技巧在mysql命令行客户端操作的时候,有时候一个语句的结果一长~~~~串,然后就没得看了,还会把之前的东西全冲掉。mysql的命令行客户端有这么一个功能,可以选择查询结果的page方式。比如用P less,就会用less来显示查询结果,就可以上下滚动翻页
阅读全文
摘要:select * from test where name='zj' and sex='2';我以前也经常用这种写法,今天爬出去看了一下某位人写的,用了一下也挺好用的下面这种写法,一一对应关系
阅读全文
摘要:mysql> select * from test where id in(2,5,4,13,6) order by field(id,2,5,4,13,6) limit 0,6;+----+-------+------+| id | name | sex |+----+-------+------+| 2 | zj_2 | 2 || 5 | zj_5 | 2 || 4 | zj_4 | 2 || 13 | zj_13 | 2 || 6 | zj_6 | 2 |+----+-------+------+有利有弊,order by 和in 我们都...
阅读全文
摘要:在where语句中,rand有时候会出现多条记录本来我还认为不会出现,后来多执行了几次,就出现了我认为他可能是多次结果的和,但是不是,后来我发现又错了,不是,求助于手册,发下下面的话。同时,我看了一下他走没走索引,发现他只走了where,没有走其他的索引,这要注意啊
阅读全文
摘要:这是今天在微博的一个人发的,有人@我了,我就做了一个,看一下吧,两次结果相差如此直大。。。。我一般都会用count(*) 因为它走主键索引,但是count(C)则不一定,我要说一下sql缓存可以看到缓存是开启的,但是大小为0,我后来修改了后来我证明这两个不会走查询缓存,因为只有sql一样的时候才会走缓存可以看到走缓存的次数并没有增加,那么是什么导致了前后两次相差那么大呢我们先看一下他们走的索引;索引走的一样,那么我们看一下profile的记录,就会发现区别。这两个时间的差距,我也只能写到这了,上班了。。请各位补充
阅读全文
摘要:我再创建表的时候,基本也不会先创建索引,都是等程序走到哪的时候,就在用到的地方加上,以后一定改正Mysql Innodb支持两种常见索引:B+树索引,哈希索引(自适应哈希索引)B+树索引的B表示的是平衡balance,二分查找法,折半查找法:前提:数据进行有序的排列之后,开始查找平衡二叉树:B+树:所有记录的节点都是按照键值的大小顺序放在同一层的叶节点,个叶节点指针进行链接B+树的删除,索引等聚集索引:以前提过非聚集索引:辅助索引并不影响数据在聚集索引中的组织,因此每张表可以有多个非聚集索引B+树索引的管理创建辅助索引的时候,Innodb存储引擎,会对表加上一个S锁:B+树的使用: 当访问高选
阅读全文
摘要:MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement。总结一下这三种格式日志的优缺点。MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别的设置会影响到 Master 端的 bin-log 日志格式。1. Row日志中会记录成每一行数据被修改的形式,然后在 slave 端再对相同的数据进行修改。优点:在 row 模式下,bin-log 中可以.
阅读全文
摘要:表:mysql InnoDB的存储逻辑结构和Oracle大致相同,--表空间:段 segment,区:extent 页:page(块,block)对于mysql的隐行主键我就不做介绍了,以前说过InnoDB引擎,在rollback的时候不会去回收表空间,而是将undo信息判断是否需要,不需要就标记为可用空间,下次Undo使用段:数据段,索引段,回滚段等,INNODB的引擎对段的管理师有引擎本身完成的,不是每个对象都有段,表空间是有分散的页和段组成的。区:64个连续的page组成,每个page16K,sql server 8K对于大的数据InnoDB引擎,每次最多可以申请4个区,来保证数据的顺序
阅读全文
摘要:今天愚人节,还有几天就放清明假了,昨天有人给我送了一本好书,让我先读这,叫做mysql技术内幕 sql编程,thank you !1.数据库引擎是对数据表而言的,并非数据库2.OLTP :online transaction processing在线事务处理3,InnoDB存储引擎采取了聚集的方式,如果没有主键,没有唯一键,则自动为每一行生成6字节的RowId,作为主键4.before mysql 5.0 ,MyIsAM支持表的大小为4G,如果想增大,修改MAX_ROWS和AVG_ROW_LENGTH,after mysql 5.0支持256T的单表数据5.
阅读全文
摘要:三、文件我们可以把数据库参数看成一个key/value;1、mysql的参数分为{动态(dynamic,可以更改的)参数和静态(static,不允许修改的)参数}2、Set [global|session] system_var_name=exprset [@@global.|@@session.|@@]system_var_name=exprglobal和session表明该参数的修改时基于当前会话的还是整个市整个实例的生命周期<!--3.1.2,和我的验证出现部分误差,这个最好去看官网有些动态参数只能在会话中修改 如autocommit;有些参数修改后,在整个实例生命周期都会生效如b
阅读全文
摘要:我的test数据库里面有一张表叫做test((Innodb 引擎)表名称这样不好,我这只为了练习),里面存储了999999条记录,,我导入的时候用的load data,关于上次说的INNODB做一个小小的测试:此次测试的目的是:这样的操作方式会不会引发哈希自适应索引,休眠时间set profiling=1;select * from test;过程截图:mysql> show engine innodb status\G;*************************** 1. row *************************** Type: InnoDB Name:Sta
阅读全文
摘要:[mysqld]log-bin=mysql-bin;//2进制日志文件bin_log.00001是2进制日志文件bin_log.index是2进制索引文件log_error="mysql_error.log" //错误日志log-slow-queries ="slow_queries.log" //慢查询日志long_query_time = 10//慢查询时间10秒慢查询日志里面记录的是大于10秒的,而不是》=10秒的一定要记得看看my-innodb-heavy-4G.ini;innodb_thread_concurrency = 16//参数进行控制
阅读全文
摘要:---恢复内容开始---以前对于各种引擎也稍微有点理解,可是却并没有深入研究过,最近打算看看Innodb引擎, InnoDB 存储引擎前言:数据库:物理操作系统文件或其他形式文件类型的集合,数据库实例:有数据库后台进程/线程以及一个共享内存区组成mysql被设计成了一个单进程多线程架构的数据库开始:1、默认的InnoDB存储引擎的后台线程有7个,4个IO thread ,1个master thread 1个锁监控 thread 1个错误监控thread,IO thread 的数量由配置文件的innodb_file_io_threads参数控制,默认是4,linux下面不可以调整,但是windo
阅读全文
摘要:3月16号,lamp有一个活动‘美丽说技术专场’,我去听了听,也学到了不少的东西,这是我感觉几个很好的ppt,页,分享给大家大家可以去加强自己想要加强的知识。
阅读全文
摘要:1 复制概述Mysql 内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到 其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进 制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志 中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。请注意当你进行复制时,所有对复制中
阅读全文
摘要:1 在my.ini(window)配置文件里面 [mysqld]log-bin=mysql-bin(名字可以随便起)我们每次进行操作的时候,File_size都会增长2、show binlog events4. 用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复...
阅读全文
摘要:好久没有好好看过mysql了,最近用到了Time类型,才发现这块貌似一直不是很熟悉。,Time值得范围是从'-838:59:59' 到'838:59:59',这个范围就足够让我颠覆了,在我的印象里貌似它一直是小于24的值,现在看起来一直都是错的,Time类型不仅可以用于表示一天的时间(必须小于24小时),还可能为某个过去的时间或两个事件的时间间隔(可以大于24小时,或者未负)为TIME列分配简写值时应注意。没有冒号,MySQL解释值时假定最右边的两位表示秒。(MySQL解释TIME值为过去的时间而不是当天的时间)。例如,你可能认为'1112'和1
阅读全文
摘要:当数据表的信息不是连续的时候,我们只在数据表进行操作的时候,可以先查找id=0,的记录并且只返回一条记录,然后在得到当前的id,查找大于当前的id的数据,并且只返回一条。。以此类推
阅读全文
摘要:category d的字段是加索引的。mysql> select name,category,id from exam group by category;+--------------+----------+----+| name | category | id |+--------------+----------+----+| hcSvgzyCRKj | Q | 1 || XaQrpYuOxkLM | T | 2 |+--------------+----------+----+2 rows in set (0.72 sec)mysql...
阅读全文
摘要:mysql> desc exam;+----------+------------------+------+-----+-------------------+-----------------------------+| Field | Type | Null | Key | Default | Extra |+----------+------------------+------+-----+-------------------+-----------------------------+|...
阅读全文