数据库
junli_chen
这个作者很懒,什么都没留下…
展开
-
聚簇索引和非聚簇索引的区别
一、聚簇索引和非聚簇索引 1、聚簇索引和非聚簇索引: 我拿查字典做一个比喻,字典的页面就好比是物理排列顺序,物理排列顺序是固定的,查询的方式就好比是索引,区别是聚簇索引就好比是拼音查询,每一个字母查询出来的页面顺序是跟你字母的顺序一致的,a字母查询出来的页面一定是在c字母查询出来的页面前面,而非聚簇索引就好比是笔画查询,笔画少的查出来的页面不一定在笔画多的查出来的页面前面,也就是你通过笔画查询的顺序和页面的顺序并不是一致的。 再举一例:聚簇索引的顺序就是数据的物理存储顺序,而对非聚原创 2020-07-31 16:26:24 · 50641 阅读 · 13 评论 -
Mysql的两种存储引擎以及区别
一、Mysql的两种存储引擎 1、MyISAM: ①不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性、一致性、隔离性、持久性) ②不支持外键,支持表锁,每次所住的是整张表 MyISAM的表锁有读锁和写锁(两个锁都是表级别): 表共享读锁和表独占写锁。在对MyISAM表进行读操作时,不会阻塞其他用户对同一张表的读请求,但是会阻塞其他用户对表的写请求;对其进行写操作时会阻塞对同一表读操作和写操作 MyISAM存储引擎的读锁和写锁...原创 2020-07-31 15:24:57 · 783 阅读 · 2 评论 -
MySQL自动备份及灾难恢复
[转自51cto]http://bbs.51cto.com/thread-820965-1.html 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么。灾转载 2017-10-13 19:39:03 · 1174 阅读 · 0 评论 -
MYSQL性能优化
看到一篇很不错的文章,特别转来分享下。也许以后会用到。1、分库分表很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中,分别从members0到members99,然后根据mid分发记录到这些表中转载 2017-10-13 19:34:50 · 310 阅读 · 0 评论 -
我必须得告诉大家的MySQL优化原理
说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。MySQL逻辑架构如果能在头脑中构转载 2017-10-13 17:47:24 · 298 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在转载 2017-10-17 18:54:21 · 279 阅读 · 0 评论 -
条件复杂的sql语句查询
有三张表 分别为 会员表(member) 销售表(sale) 退货表(regoods)会员表有字段 memberid (会员id,主键) credits(积分); 销售表有字段 memberid(会员id ,外键) 购买金额(MNAccount);退货表中有字段memberid(会员id ,外键) 退货金额(RMNAccount);业务说明 : 1、销售表中的销售记录可以是会员购买原创 2017-10-17 18:00:10 · 1024 阅读 · 0 评论 -
常用的sql语句用法
1.group_concat()函数group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。sql = "SELECTcustomer_name,GROUP_CONCAT(channel) FROM channel_infos GROUP BYcustomer_name"实际中什么时候需要用到这个函数?假如需要查询的结果是这样:左边显示组名,右边想显示该组原创 2016-12-26 15:58:08 · 270 阅读 · 0 评论 -
mysql-python安装时EnvironmentError: mysql_config not found
在安装 mysql-python时,会出现:sh: mysql_config: not foundTraceback (most recent call last): File "setup.py", line 15, in metadata, options = get_config() File "/home/zhxia/apps/source/MySQL-py原创 2016-08-05 19:38:21 · 4221 阅读 · 0 评论 -
mysql启动提示 access denied for user root@localhost(using password:YES) 解决办法总结
首先计入到mysql的客户端命令行。然后:mysql>grant all privileges on *.* to 'root'@'localhost' identified by '你的密码' with grant option;mysql>flush privileges;执行完这两条命令之后就可以了。。。。。。原创 2016-04-22 14:52:36 · 5445 阅读 · 0 评论 -
Django models通过DateTimeField保存到MySQL的时间的时区问题
最近开始使用Django开发一些系统,在models.py中设置一些数据库表结构并给日期时间字段赋初值,不过在使用的过程中,遇到一点问题。问题是,我本来服务器使用的市区是“Asia/Shanghai”(+08:00),然后用datetime.now保存到数据库中时,里面的时间总是比我的系统时间相差8小时(感觉是UTC时间),但是我也查看了MySQL数据库中的时区是“+08:00”的(在MySQL中原创 2015-12-01 10:35:25 · 1251 阅读 · 0 评论 -
python向数据库插入中文乱码问题
碰到编码问题就头疼啊!。。。。在想数据库中插入中文时候,会出现如下错误提示:Warning: Incorrect string value: '\xE5\x8C\x97\xE4\xBA\xAC...' for column 'title' at row 1这个异常主要是由于数据库的字符编码选择错误造成,MySQL的默认编码是Latin1,不支持中文,最好修改为utf8的字符编码为宜!原创 2015-11-17 20:28:05 · 4685 阅读 · 0 评论 -
50个常用的笔试、面试sql语句
50个常用的笔试、面试sql语句2015-10-25 Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (s转载 2015-10-25 10:07:11 · 982 阅读 · 0 评论 -
数据库范式
数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库。甚至设计出错误的数据库。而想要理解并掌握范式却并不是那 么容易。教科书中一般以关系代数的方法来解释数据库范式。这样做虽然能够十分准确的表达数据库范式,但比较抽象,不太直观,不便于理解,更难以记忆。 本文用较为直白的语言介绍范式,旨在便于理解和记忆,这样做可能会出现一些不精确的表述。但对于初学原创 2015-10-25 09:31:48 · 443 阅读 · 0 评论 -
数据库优化:优化查询
数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。查询优化规则:在访问数据库表的数据(Access Data)时,要尽可能避免排序(Sort)、连接(Join)和相关子查询*作。经验告诉我们,在优化查询时,必须做到: ① 尽可能少的行; ② 避免排序或为尽可能少的行排序,若要做大量数据排序,最好将相关数据放在临时表中*作;用简单的键(列)排序,如整型或短字符原创 2015-11-04 20:26:15 · 490 阅读 · 0 评论