随笔分类 -  Database

MySQL索引&锁
摘要:在InnoDB中一个3层B+树最多大概可以存放多少行数数据?参考:https://www.pianshen.com/article/43511636667/https://zhuanlan.zhihu.com/p/86137284 在innodb存储引擎里面,最小的存储单元是页(page),一个页的 阅读全文
posted @ 2020-08-30 13:50 快鸟 阅读(139) 评论(0) 推荐(0) 编辑
分表需要解决的问题 & 基于MyBatis 的轻量分表落地方案
摘要:分表:垂直拆分、水平拆分 垂直拆分:根据业务将一个表拆分为多个表。 如:将经常和不常访问的字段拆分至不同的表中。由于与业务关系密切,目前的分库分表产品均使用水平拆分方式。 水平拆分:根据分片算法将一个表拆分为多个表。 如:按照ID的最后一位以3取余,尾数是1的放入第1个库(表),尾数是2的放入第2个 阅读全文
posted @ 2018-06-23 16:24 快鸟 阅读(503) 评论(0) 推荐(0) 编辑
MySQL慢查询
摘要:Windows下开启MySQL慢查询MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上log-slow-queries = F:\MySQL\log\mysqlslowquery.loglong_query_time = 2 Linux下启用MySQL慢查询M 阅读全文
posted @ 2017-08-29 09:53 快鸟 阅读(280) 评论(0) 推荐(0) 编辑
MySQL 高性能表设计规范
摘要:良好的逻辑设计和物理设计是高性能的基石, 应该根据系统将要执行的查询语句来设计schema, 这往往需要权衡各种因素。 一、选择优化的数据类型 MySQL支持的数据类型非常多, 选择正确的数据类型对于获得高性能至关重要。 更小的通常更好 更小的数据类型通常更快, 因为它们占用更少的磁盘、 内存和CP 阅读全文
posted @ 2017-07-31 18:02 快鸟 阅读(913) 评论(0) 推荐(0) 编辑
数据库规范
摘要:@see http://mp.weixin.qq.com/s/Yjh_fPgrjuhhOZyVtRQ-SA 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)默认使用utf8mb4字符集解读:utf8mb4是utf8的 阅读全文
posted @ 2017-07-22 10:37 快鸟 阅读(203) 评论(0) 推荐(0) 编辑
DB索引、索引覆盖、索引优化
摘要:###########索引########### @see http://mp.weixin.qq.com/s/4W4iVOZHdMglk0F_Ikao7A 聚集索引(clustered index):聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一般用primary key来约束。 阅读全文
posted @ 2017-07-22 10:33 快鸟 阅读(622) 评论(0) 推荐(0) 编辑
InnoDB锁问题 & DB事务隔离级别
摘要:https://www.cnblogs.com/Katerina/p/11459135.html 数据库事务隔离级别:4 种 (http://www.cnblogs.com/fjdingsd/p/5273008.html)read uncommitted --> read committed --> 阅读全文
posted @ 2017-02-27 18:12 快鸟 阅读(234) 评论(0) 推荐(0) 编辑
MySQL命令
摘要:1. 查看最大连接数: show variables like 'max_connections'; mysql> show status like 'Threads%'; + + + | Variable_name | Value | + + + | Threads_cached | 58 | | 阅读全文
posted @ 2015-05-26 10:37 快鸟 阅读(481) 评论(0) 推荐(0) 编辑
工作问题日志
摘要:1. 获取用户请求的路径:HttpServletRequest request = (HttpServletRequest) req;String servletPath = request.getServletPath(); 2. 相对通用的读文件流的方法(Windows 和 Linux上都可以用 阅读全文
posted @ 2014-03-21 15:24 快鸟 阅读(664) 评论(0) 推荐(0) 编辑
SQL 优化原则
摘要:一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优 化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的 SQL语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果在SQL语句的where子句. 阅读全文
posted @ 2014-03-12 19:39 快鸟 阅读(632) 评论(0) 推荐(0) 编辑
sql工作问题总结
摘要:1. sql排序:1、 order by ……2、 row_number() over(partition by …… order by ……) 使用说明:此函数适合做分组、排序,而不能在使用它分组的同时使用聚合函数3、 嵌套查询,保持内层查询的排列顺序,可以使用rownum记录内层记录的行号,外层 阅读全文
posted @ 2014-02-13 10:24 快鸟 阅读(320) 评论(0) 推荐(0) 编辑
oracle 树形SQL
摘要:oracle树形sql查询实例分析通过此SQL语句[sql]select * from tree 查看原始数据如下:我们要想得到如下的一个树形查询结果如下图所示(包含 ROOT, LEVEL, IS_LEAF, PATH 四个字段):可执行如下SQL语句:[sql]select connect_by_root(child_col) root, level ,decode(connect_by_isleaf,0,'No',1,'Yes') is_leaf, sys_connect_by_path(child_col,'/') path from t 阅读全文
posted @ 2013-11-08 15:43 快鸟 阅读(3945) 评论(0) 推荐(1) 编辑
SQL Server中事件探测器Profiler的使用
摘要:简单的新建一个跟踪就不在这里多说了。文件 --> 新建 --> 跟踪。(也可以直接使用功能按钮)我们这里主要是讲一个精确的跟踪。注:如果事件探测器在处理过程中检测到了Password,则事件探查器中根本看不到一句数据库SQL语句,所有的操作全部都用语句句柄来做了,看到最多的就是 exec sp_execute 11,1,即便在事件探查器中添加参数SP:StmtStaring,SP:StmtCompleted,也没有结果,探查器给替换了文本。真是万恶,这样就起到了隐藏代码的目的。1、跟踪指定的数据库有时我们机器上跑了几个服务,连了不止一个数据库,而我们又只想探测其中的一个或几个数据库 阅读全文
posted @ 2012-11-12 17:10 快鸟 阅读(3407) 评论(0) 推荐(0) 编辑
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
摘要:Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select v 阅读全文
posted @ 2012-11-06 15:46 快鸟 阅读(280) 评论(0) 推荐(0) 编辑
SQL Server查询前N条记录的三种方法
摘要:SQL Server查询前N条记录是我们经常要用到的操作,下面对SQL Server查询前N条记录的方法作了详细的介绍,如果您感兴趣的话,不妨一看。SQL Server查询前N条记录:因为id可能不是连续的,所以不能用取得10<id<20的记录的方法。有三种方法可以实现:一、搜索前20条记录,指定不包括前10条语句:selecttop20*fromtblwhereidnotin(selecttop10idfromtbl)二、搜索记录生成临时表,建立临时表的自增id。通过取得自增id的10<id<20的记录的方法取得所需数据语句:selectidentity(int,1, 阅读全文
posted @ 2012-10-19 15:11 快鸟 阅读(1795) 评论(0) 推荐(0) 编辑
利用sql语句随机抽取记录
摘要:数据库的随机查询SQL 1. Oracle,随机查询20条select * from(select * from 表名order by dbms_random.value)where rownum <= 20;2.MS SQL Server,随机查询20条select top 20* from 表名order by newid()3.My SQL:,随机查询20条select * from 表名 order by rand() limit 20随机查询指定人员的一条未读消息帮助消息表 S_MSG_HINT帮助消息ID SMH_ID NUMBER(20) PK帮助消息内容 SMH_TEXT 阅读全文
posted @ 2012-10-19 09:49 快鸟 阅读(22912) 评论(0) 推荐(0) 编辑