随笔分类 -  数据库

摘要:一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。二、为什么要对表进行分区为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。分区的一些优点包括:与单个磁盘或文件系统分区相比,可以存储更多的数据。对于那些已经失去保存意义的数据,通常可以通过删除与那些数据有关的分区,很容易地删除那些数据。相反地,在某些情况下,添加新数据的过程又可以通过为那些新数据专门增加一个新的分区,来很方便地实现。通常和分区 阅读全文
posted @ 2014-03-26 14:21 鍒樻爧 阅读(111980) 评论(4) 推荐(14) 编辑
摘要:1 问题描述一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍:给定一条SQL,如何提取其中的where条件?where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用?通过本文的介绍,希望读者能够更好地理解查询条件对于SQL语句的影响;撰写出更为优质的SQL语句;更好地理解一些术语,例如:MySQL 5.6中 阅读全文
posted @ 2014-03-23 19:52 鍒樻爧 阅读(2815) 评论(0) 推荐(0) 编辑
摘要:可以使用B-Tree索引的查询类型全值匹配 :和索引中的所有列进行匹配匹配最左前缀 :可只是用索引的第一列匹配列前缀 :也可以只匹配某一列的值的开头部分匹配范围值 :查找在某个范围的精确匹配某一列并范围匹配另外一列 :即第一列全批评,第二列范围匹配B-Tree索引的一些限制如果不是按照索引的最左列开始查询,则无法使用索引不能跳过索引中的列,只有索引中的1、3列缺失了第二列,则只能使用索引的第一列如果查询中有某个列的范围查询,则其右边的所有列无法使用索引进行优化查询高性能索引的策略独立的列 ”独立的列“ 是指索引列不能是表达式的一部分,也不能是函数的参数前缀索引和索引的选择性 有时需要索引很长的 阅读全文
posted @ 2013-08-03 18:20 鍒樻爧 阅读(339) 评论(0) 推荐(0) 编辑
摘要:在 explain的帮助下,您就知道什么时候该给表添加索引,以使用索引来查找记录从而让select 运行更快。如果由于不恰当使用索引而引起一些问题的话,可以运行 analyze table来更新该表的统计信息,例如键的基数,它能帮您在优化方面做出更好的选择。explain 返回了一行记录,它包括了select语句中用到的各个表的信息。这些表在结果中按照mysql即将执行的查询中读取的顺序列出来。mysql用一次扫描多次连接(single-sweep,multi-join)的方法来解决连接。这意味着mysql从第一个表中读取一条记录,然后在第二个表中查找到对应的记录,然后在第三个表中查找,依次类 阅读全文
posted @ 2013-04-03 15:43 鍒樻爧 阅读(172) 评论(0) 推荐(0) 编辑
摘要:我们经常在telnet终端操作MySQL数据库时会遇到中文乱码问题,这主要是因为字符集设定错误造成的。这里面涉及到好几个地方的字符集设置,如果我们搞清楚它后面的原理,就可以很容易解决这些乱码问题。 在MySQL的客户端上执行一次查询的过程一般是,在客户端的提示符后面输入一条SQL语句,回车,然后终端显示出查询的结果。这个过程中,只有终端和 三个MySQL的系统变量指定了正确的字符集,才能保证我们将一个正确的SQL语句送到服务器,然后服务器返回正确的结果,并且在终端正确显示。 三个MySQL的系统变量是: ①character_set_client,终端字符集,告诉Server客户端提交... 阅读全文
posted @ 2012-12-28 13:17 鍒樻爧 阅读(218) 评论(0) 推荐(0) 编辑
摘要:数据库的三范式1N:关系R中的属性都是不可分割的项.2N:在1N的基础上,每个非主属性完全函数依赖于码.3N:在2N的基础上,每一个非主属性既不部分依赖于码也不传递依赖于码.1N | 消除非主属性对码的部分函数依赖2N | 消除非主属性对码的传递函数依赖3N | 消除主属性对码的部分和传递函数依赖BCNF | 消除非平凡且非函数依赖的多值依赖4N简单描述:第三范式的要求如下: 1,每一列只有一个值 2,每一行都能区分。 3,每一个表都不包含其他表已经包含的非主关键字信息。 你说的两个表,如果每个都满足三范式,那么两个表也满足三范式。转自:http://www.cublog.cn/u/23975 阅读全文
posted @ 2012-09-24 16:07 鍒樻爧 阅读(226) 评论(0) 推荐(0) 编辑