1)count(*)会忽略所有的列,直接统计所有列数,不要使用count(列名),也就是不要使用count(1),count(id) 2)可以使用explain查询近似值,用近似值替代count(*) 3)使用缓存,记录总数 4)允许的话,把innodb改为myisam 5)SELECT (SELE ...
分类:
数据库 时间:
2020-07-10 18:48:16
阅读次数:
75
今天更改一个文件时,远程仓库更改了文件,但是已经对文件做了修改,所以不是git pull下来,无奈只好撤销修改,但是不知道怎么撤销,查看了廖雪峰的教程 https://wiki.jikexueyuan.com/project/git-tutorial/undo-modify.html 命令git c ...
分类:
其他好文 时间:
2020-07-10 15:13:08
阅读次数:
60
MySQL innodb线程 一、master therad ①、刷新脏页到磁盘 ②、将日志缓冲刷新到磁盘 ③、undo页回收 ④、合并插入缓冲 参数innodb_io_capacity表示每秒刷新脏页的数量,默认为200。 innodb_max_dirty_pages_pct设置出发刷盘的脏页百分 ...
分类:
数据库 时间:
2020-07-10 11:46:22
阅读次数:
53
MySQL 索引重建 当你对InnoDB进行修改操作时,例如删除一些行,这些行只是被标记为“已删除”,而不是真的从索引中物理删除了,因而空间也没有真的被释放回收。 InnoDB的Purge线程会异步的来清理这些没用的索引键和行,但是依然没有把这些释放出来的空间还给操作系统重新使用,因而会导致页面中存 ...
分类:
数据库 时间:
2020-07-10 11:21:42
阅读次数:
79
当执行 SQL语句删除行时,InnoDB不会立即从数据库中物理删除。 仅当InnoDB 丢弃 为删除而编写的undo log 时,才会物理删除行及其索引记录(删除对应数据文件中的记录和索引)。 这种仅发生在不再需要多版本并发控制(MVCC)或回滚之后的删除操作,称为purge。 purge 操作用于 ...
分类:
数据库 时间:
2020-07-09 00:41:03
阅读次数:
106
1.Memory用的是hash index,但是InnoDB和MyISAM用的是B+树,不用二叉树的原因就是深度可能过深,深度过深影响查询和IO性能; 2.索引使用树的过程: BST:二分查找,不平衡AVL:二叉平衡树,最长子树和最短子树的高度之差不能超过1,数据越多,旋转越多,插入删除效率极低,查 ...
分类:
数据库 时间:
2020-07-08 15:06:03
阅读次数:
70
MariaDB 10.0.8增加了一种新的执行计划——Extended Keys。 它充分利用了InnoDB的隐藏列来做执行计划,因为我们都知道InnoDB的索引组织表会把主键放在最末尾,所以实际上每个索引最后都包含了主键。 打开和关闭这个优化器选项的命令如下: Enable: set optimi ...
分类:
数据库 时间:
2020-07-07 23:34:09
阅读次数:
66
myIsam引擎把一个表的总行数存在了磁盘上,因此执行count(*)会直接返回结果,效率很高 #但是myisam不支持事物 innodb引擎需要把数据一行行从引擎里读出来,然后计数累加。 innodb由于多版本并发控制机制,同一时刻不同回话拿到的结果可能都不相同,所以不能直接将总行数存储在磁盘上。 ...
分类:
数据库 时间:
2020-07-07 19:56:37
阅读次数:
130
oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据 一 1.创建一张测试表 -- Create table create table A8 ( a1 VARCHAR2(500) ) tablespace DS ...
分类:
数据库 时间:
2020-07-07 19:55:48
阅读次数:
92
--vs安装目录cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise --强制撤销签出 tf undo /workspace:工作区;域名\用户名 签出的源码路径(到目录即可) /recursive ...
分类:
Web程序 时间:
2020-07-07 17:59:07
阅读次数:
89