
数据库
代码学习
代码
展开
-
1、记录数据库配置的出现问题
原 解决MySql查询语句报Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre异常的问题 2018年08月11日 11:10:02 qq_34246315 阅读数:4...转载 2019-04-26 20:34:40 · 1289 阅读 · 0 评论 -
SQL中的左连接与右连接,内连接有什么不同
https://www.cnblogs.com/jianshuai520/p/11055519.html转载 2019-09-16 11:43:18 · 316 阅读 · 0 评论 -
有一个表数据量每天存入数据3百万左右,现在千万级,要筛选表里一些数据,怎么查才能速度快一点
这个问题够写一篇分析报告了。首先每天三百万数据,这张表再大,最后都会撑不住,横向分表是自然的事。估计最先想到的是按时间来分吧。查询速度的问题可使用的技术方案有很多,但先要做的是对业务查询的分析。找出瓶颈,才能有的放矢。试列举几种:i 缓存,已查过的放内存,没查过的才查ii 索引,合理利用索引,甚至构造自己的索引表ii 并行,可以多线程/多进程甚至分布式iV 分离读写,使用数据仓库,专...转载 2019-09-16 11:07:06 · 3131 阅读 · 0 评论 -
为什么Mysql用B+树做索引而不用B-树或红黑树
B+树和B树区别B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域。所以从Mysql(Inoodb)的角度来看,B+树是用来充当索引的,一般来说索引非常大,尤其是关系性数据库这种数据量大的索引能达到亿级别,所以为了减少内存的占用,索引也会被存储在磁盘上。那么Mysql如何衡量查询效率呢?– 磁盘IO次数。 B-树/B+树 的特点就是每层节点数目非常多,层数很少,...转载 2019-09-16 10:18:34 · 959 阅读 · 0 评论 -
MyISAM InnoDB索引实现
MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。如图:这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯一的...转载 2019-09-16 09:55:16 · 158 阅读 · 0 评论 -
mysql中innodb和myisam对比及索引原理区别
InnoDB和MyISAM是很多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,5.7之后就不一样了1、事务和外键InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能MyISAM管理非事务表。它提供高速存储和检索,以及全...转载 2019-09-16 09:51:20 · 109 阅读 · 0 评论 -
mysql和redis的区别
1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复...原创 2019-09-10 20:47:25 · 158 阅读 · 0 评论 -
数据库面试题
https://www.cnblogs.com/television/p/9288248.htmlhttps://blog.youkuaiyun.com/qq_34475529/article/details/82998957https://www.jianshu.com/p/c2e816fe188e原创 2019-09-02 22:41:54 · 125 阅读 · 0 评论 -
MySQL主从复制(包括读写分离功能)
MySQL主从复制入门影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据库事件在数据库中完成。 那么,MYSQL-A的变化,MYSQL-B也会变化,这样就是所谓的MYSQL的复制,即MYSQL rep...转载 2019-08-22 20:32:00 · 159 阅读 · 0 评论 -
深入理解数据库索引采用B树和B+树的原因
深入理解数据库索引采用B树和B+树的原因:https://blog.youkuaiyun.com/qq_35571554/article/details/82796278漫画叙述B+树和B-树,很值得看! https://blog.youkuaiyun.com/qq_35571554/article/details/82759668B树和B+树的底层探究:https://blog.youkuaiyun.com/qq_...原创 2019-08-21 21:37:34 · 392 阅读 · 0 评论 -
关于数据库主键、外键和索引
什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以...转载 2019-08-21 20:29:12 · 424 阅读 · 0 评论 -
数据库常见面试题
https://blog.youkuaiyun.com/qq_22222499/article/details/79060495https://blog.youkuaiyun.com/coolwriter/article/details/79794309转载 2019-07-30 14:46:30 · 166 阅读 · 0 评论 -
索引
什么是索引索引的目的:帮助MySQL高效的获取数据的数据结构常见的所以你查询算法:顺序查找、二分查找、二叉排序树查找、哈希散列法、分块查找、平衡多路搜索树B树(B-tree)索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。索引的种类B+Tree 索引MyISAM和InnoDB存储引擎的默认创建的是B+tree索引,Mem...原创 2019-06-01 16:30:32 · 31783 阅读 · 0 评论 -
存储引擎
存储引擎的概念数据库管理系统DBMS可以对数据库进行增删改查的操作,其中底层使用的就是数据库的存储引擎机制,不同的存储引擎提供不同的存储机制、索引机制、锁定水平,是否使用事务和其他特定功能,默认情况下创建新表会有默认的存储引擎MyISAM。存储引擎主要有4个:MyIASM、InnoDB、Memory、Merge;MyISAM1、MyISAM默认的存储引擎,使用的是表级别锁,每个MyISAM...原创 2019-06-01 14:33:27 · 166 阅读 · 0 评论 -
并发事务问题 隔离级别
为了实现一致性的事务,在并发情况下的隔离性的不同会出现不同的结果所以首先分析一下因为隔离性问题,而产生的不同的一致性问题丢失修改事务是一些列操作的整体,所以是不可分割的,对于结果来说只能是成功或者失败回滚;要么执行,要么失败2、一致性(Consistency)所有事务对于数据库读取结果都是一致的...原创 2019-05-31 20:04:44 · 216 阅读 · 0 评论 -
上亿条数据的数据库做优化 查询结果都是千万级别的 怎么优化
第一优化你的sql和索引;第二加缓存,memcached,redis;第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的atlas,其它的要么效率不高,要么没人维护;第四如果以上都做了还是慢,不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql语句是需要针对分区表做优化的,s...转载 2019-09-18 10:38:44 · 2641 阅读 · 0 评论