《数据库》专栏
文章平均质量分 68
mysql的自我总结
Run,boy
别犹豫,就现在
展开
-
数据库之事务隔离级别详解
儿子某一天去消费,花了8千元,然后他的父亲去查看他今天的消费记录(全表扫描,儿子事务开启),看到确实是花了8千元,就在这个时候,儿子花了1万买了一部电脑,即新增INSERT了一条消费记录,并提交。但是转账时父亲不小心按错了数字,按成10万/月,该钱已经打到儿子的账户,但是事务还没有提交,就在这时,儿子去查看自己的储蓄卡,发现转多了9万,以为凭空多了9万非常高兴。事务的隔离性是指在并发执行的多个事务中,每个事务的执行互不影响,每个事务都有自己独立的空间进行操作。儿子看到的是父亲还没提交事务时的数据。原创 2023-04-30 17:18:30 · 12706 阅读 · 4 评论 -
Mysql索引详解
MySql索引原创 2021-03-03 21:38:43 · 329 阅读 · 2 评论 -
MySQL索引下推讲解
索引条件下推(Index Condition Pushdown,ICP)是MySQL 5.6版本后引入的一项新特性。它通过减少回表的次数来提高数据库的查询效率。在不使用ICP的情况下,当使用非主键索引(也称为普通索引或二级索引)进行查询时,存储引擎会通过索引检索到数据,然后将数据返回给MySQL服务器,服务器再判断数据是否符合查询条件。而在使用ICP的情况下,如果查询语句中存在某些索引列的判断条件,MySQL服务器将这部分条件传递给存储引擎。原创 2023-08-19 09:29:50 · 515 阅读 · 0 评论 -
为什么阿里规范超过三张表禁止关联查询
尽管MySQL已经尽可能地进行了优化,但是这几种连接算法的时间复杂度仍然相对较高。这也是为什么不建议在数据库中频繁使用多表JOIN的原因。随着表的数量和数据量的增加,JOIN操作的效率会呈指数级下降。这是因为在多表JOIN时,数据库需要执行大量的比较和匹配操作,而这些操作需要消耗大量的计算资源和时间。尤其是当表的数量和数据量都很大时,数据库需要处理的数据量会变得非常庞大,从而导致查询的响应时间变慢。因此,在设计数据库时,应尽量避免过多的表JOIN操作,特别是当数据量较大时。原创 2023-07-21 15:30:00 · 1372 阅读 · 0 评论 -
Oracle中Merge Into 的用法
当源表和目标表匹配时,执行的操作是更新目标表中的数据。可以使用SET关键字指定要更新的列和对应的值。当源表和目标表不匹配时,执行的操作是将源表中的数据插入到目标表中。使用INSERT关键字指定要插入的列和对应的值。需要注意的是,当进行更新操作时,只有匹配的行才会被更新。而当进行插入操作时,只有不匹配的行才会被插入。原创 2023-07-14 06:54:12 · 2032 阅读 · 0 评论 -
Oracle数据库创建序列与触发器
序列是Oracle数据库中用于生成唯一数值的对象。序列可以与触发器、存储过程等数据库对象结合使用,实现自定义逻辑。例如,在触发器中使用序列生成时间戳、版本号等。总之,序列在Oracle数据库中具有重要的作用,可以方便地生成唯一的数值,提供自增的功能,确保数据的唯一性和连续性,并支持自定义逻辑的实现。触发器是数据库中的一种特殊对象,它是一段被预定义的SQL代码,当数据库中的某个事件(如插入、更新、删除等)发生时,触发器会自动执行这段代码。原创 2023-06-29 10:51:12 · 1696 阅读 · 0 评论 -
plsql中文乱码
发现数据库服务端和plsql本地客户端不一致,此时需要配置环境变量,与数据库服务端保持一直。原创 2023-06-26 17:18:09 · 25104 阅读 · 5 评论 -
分表时快速创建多个相同的表结构
分表时快速创建多个相同的表结构原创 2023-02-20 17:45:36 · 116 阅读 · 0 评论 -
安装Mysql8.0.23过程中遇到的常见问题
安装MySQL出现由于找不到vcruntime140_1.dll,无法继续执行代码的提示主要原因是缺少微软常用运行库合集WIN10安装MySQL8.x教程 + 解决遇到问题The designated data directory /data is unusable. You can remove解决方案可参考...原创 2021-03-07 17:52:42 · 765 阅读 · 0 评论