![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
哲思新见
每天进步一点点
展开
-
MySQL索引的数据结构与常用SQL优化
原文出处http://www.cnblogs.com/tgycoder/p/5410057.html数据结构及算法基础索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是一种数据结构。数据库查询是数据库的主要功能之一,最基本的查询算法是顺序查找(linear search)时间复杂度为O(n),显然在数据量很大...转载 2017-09-27 21:40:14 · 1108 阅读 · 0 评论 -
数据库的事务四大特性以及Spring事务传递性
事务的特性1 原子性:Atomicity 一个事务 要么完全提交 要么完全回滚,不会介于2者之间。2 持久性:事务提交了,这次记录将永久的保存在数据库中3 一致性:一个查询发起后,不管数据发生了多少变化 多少事务,查询结果应当为发起查询时间一致的数据4 隔离型: 事务的隔离级别:未提交读: (读到另一个事务未提交的信息)产生的问题: 脏读比如事务A在操作一个信息的原创 2017-09-16 11:05:38 · 616 阅读 · 0 评论 -
MyBatis时区错误:java.sql.SQLException: The server time zone value
今天在初学Mybatis的时候,预见了这样的问题,我和火箭班三个同学调整了两个多小时也没有调整明白。最后到基地陶小鱼给我弄好了。感触良多阿,感觉自己的调错能力正在崩溃。错误信息org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLExcept原创 2017-08-29 22:59:58 · 1147 阅读 · 0 评论 -
MySQL调优和性能分析之索引及其数据结构
一、为什么要使用索引 以及 索引的数据结构 使用数据库进行查询的时候,如果没有索引,那我们查找数据需要进行全表的扫描;假如我们现在有一百万条数据,我们去全表的进行扫描,那我们的查询的复杂度是O(n);这样的消耗是很大的;因此我们要使用索引。 为了查询的速度更快,我们就想到用二叉树来加快查询的速度;例如使用自平衡二叉树例如红黑树;但这样还会有一个问题,因为磁盘的读取是分页的原创 2017-09-27 22:58:17 · 231 阅读 · 0 评论 -
MySQL数据库存储引擎MyISAM与InnoDB的区别
MyISAM方便与查询,查询速度很快,因而为了优化查询,它不支持外键、事务、索引也是非聚集的;同时它的锁支持表级锁;支持全文检索;保存表具体的行数;其实很好理解;索引是为了加快查询的;而使用非聚集的索引使得表数据和索引分开存储;这样查询的时候,索引长度更短,速度更快;为了更快的查询速度,抛弃了索引和外键;因为更频繁的读取数据;为了防止出现幻读,而把锁的级别提高为表级锁;相反原创 2017-09-27 22:47:38 · 249 阅读 · 0 评论