
数据库
文章平均质量分 91
义臻
你可以通过知乎ID找到我:义臻
转摘文章请注明出处。
展开
-
MySQL计数器表
在Web开发中经常会遇到需要计数器表的场景,如果将计数器保存在表中,在操作表时可能会遇到并发问题。因此,通常的做法是为计数器单独建立一个表,在写入操作时通过事务在处理业务表的同时处理计数器。 比如一个典型的场景:记录新闻的浏览量。这个场景的表结构可能如下所示:create table article( article_id int unsigned auto_increment p...原创 2016-08-30 18:50:46 · 2400 阅读 · 0 评论 -
Mysql高性能索引的策略
Mysql的explain命令:explain命令显示了mysql如何使用索引来执行select查询语句,可以帮助写出更好的索引和更优化的查询语句。看示例如下:结果如下:explain列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、index和all。显示index说明使用索引...原创 2016-08-11 14:17:26 · 699 阅读 · 0 评论 -
mysql海量数据操作的一些优化方法
点击打开链接转载 2017-01-05 14:19:59 · 448 阅读 · 0 评论 -
查看mysql语句运行时间
点击打开链接转载 2017-01-03 19:55:21 · 806 阅读 · 0 评论 -
数据库事务
1 数据库事务的ACID属性原子性(atomic) 对于中包含的操作,要么全部执行,要么全部不执行。一致性(consistent) 事务在完成时,必须使所有的数据都保持一致状态。隔离性(insulation) 当多个事务并发执行的时候,不同事务之间数据的可见程度。持久性(durability) 事务完成之后,更改的数据是永久的。2 事务的隔离性的级别包括:Read原创 2016-08-11 14:10:57 · 412 阅读 · 1 评论 -
B+树在mysql数据库索引中的使用
一:B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树。⑵若根结点不是叶子结点,则至少有两棵子树。⑶除根结点之外的所有非叶结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:(n,A0,K1,A1,K2,…,Kn,An)其中:n 为关键码的个数,Ki(i=1,2,…,n)为原创 2016-08-11 14:12:42 · 2050 阅读 · 0 评论 -
配置数据库的主从复制
首先介绍下搭建环境,对于其他环境仅供参考。系统环境 = ubuntu14.04LTSMySQL版本 = mysql-server-5.6主库IP = 192.168.1.100备库IP = 192.168.1.101分别在两台机器上安装mysqlapt-get install mysql-server-5.6打开主库的配置文件原创 2016-09-21 20:30:10 · 429 阅读 · 0 评论 -
MySQL分页中的那些事
1. 优化count()查询count()是一个特殊的函数,有两种用法。其一:count(*)用来统计结果集的行数。其二:count(column)用来统计column列或column表达式的非NULL值的结果数。很多博客都误解count(*)和count(column)的性能,在这里负责任的说一下,count(*)的性能比count(column)的性能好。在MySQL优化器对查询语句进行优化...原创 2016-09-01 08:47:57 · 1234 阅读 · 0 评论 -
sql文件导入mysql数据库
在cmd窗口下,进入mysql安装目录的bin文件夹下,然后输入mysql -u root -p 数据库名 在d盘下的1.sql就是要导入的文件 其中D:\1.sql是目标文件夹的位置,是可以更改的。原创 2016-08-11 14:02:12 · 559 阅读 · 0 评论 -
关系模式范式
数据库的关系模式范式就是数据库设计要满足的规范,满足这些规范的数据库是简洁的,结构清晰的。第一范式(1NF):所有的列不可再分第一范式就是指所有的列都是不可再分的基本数据项,即表中的每一列都不能有多个值。说明:在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库不是关系数据库。第二范式(2NF):非主属性完全依赖于主键(消除部分主函数依赖)如果关系模式原创 2016-08-11 14:07:23 · 975 阅读 · 0 评论 -
mysql导出数据库
在cmd窗口下,进入mysql安装目录的bin文件夹下,然后输入mysqldump -u root -p 数据库名 > D:\1.sql在d盘下的1.sql就是目标文件其中D:\1.sql是目标文件夹的位置,是可以更改的。原创 2016-08-11 14:00:36 · 255 阅读 · 0 评论 -
常见RAID
笔者在做桌面云的过程中,就使用过raid。最近阅读《大型网站技术架构》,觉得作者总结的很到位,在此转发。http://book.51cto.com/art/201310/412862.htmRAID(廉价磁盘冗余阵列)技术主要是为了改善磁盘的访问延迟,增强磁盘的可用性和容错能力。目前服务器级别的计算机都支持插入多块磁盘(8块或者更多),通过使用RAID技术,实现数据在多块磁盘上的并发读写和数据原创 2016-08-11 14:12:33 · 442 阅读 · 0 评论 -
Spring代码中动态切换数据源
最近项目中遇到一个场景,需要能够在一个方法中操作多个具有相同表结构数据库(你可以理解为一个表中的数据被水平拆分到多个库中,查询时需要遍历这多个库)。经过笔者几天的研究,最终解决了问题,并且写了一个demo共享到我的github。关注笔者博客的小伙伴一定知道之前的这篇文章点击打开链接,这篇博客中的解决方案仅仅适用读写分离的场景。就是说,当你在开发的时候已经确定了使用写库一读库的形式。笔者今天要写...原创 2017-01-02 14:59:43 · 20396 阅读 · 24 评论