
MySQL
MySQL
叕叕666
这个作者很懒,什么都没留下…
展开
-
Mysql 的索引使用的数据结构为什么采用B+Tree,而不采用Hash表、红黑树等其他数据结构
为什么不使用Hash表 使用Hash表存在的问题: Hash表必须要有hash算法,这个算法还要足够优秀来保证你的数据能够很好的散列,如果存在大量的hash冲突或者hash碰撞,会导致一部分查询效率非常低 即使算法足够优秀,如果进行范围查询,需要逐一对比每一个元素值,效率很低,并且在生产环境中大部分的查询是范围查询,如果还需要排序那就更低了 hash比较浪费内存空间,而内存是非常宝贵的资源 为什么不使用AVL、BST、红黑树 使用这些二叉树存在的问题: 每一个分支有且尽有两个子节点,当需要向其中插原创 2022-03-21 13:51:05 · 990 阅读 · 0 评论 -
MySQL、 Oracle、PostgreSQL 的分页查询
mysql的分页查询 -- select 字段 from 表名.tables limit m,n; -- m:需要查询的页数减1,n:每页显示几条数据 -- 例:查询第一页,每页显示4条数据 select * from information_schema.tables limit 0,4; oracle的分页 -- select 字段 from (select rownum r,表名.* from 表名) where between m,n; -- m:需要查询的页数,n:每页显示几条数据 -- 例:原创 2021-03-12 16:47:19 · 216 阅读 · 0 评论 -
JDBC 连接 MySQL
驱动依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> JDBC Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc原创 2021-09-13 10:25:53 · 56 阅读 · 0 评论 -
mysql的锁
共享锁(读锁,S锁) 查询语句加此锁,在本次事务没有提交或回滚时,对查询到的数据进行加锁。 例: select * from mytable where id = 3 lock in share mode; 排它锁(写锁,X锁) 查询语句加此锁,在本次事务没有提交或回滚时,如果查询条件有索引对查询到的数据进行加锁,如果查询条件没有索引,对表进行加锁。 例: select * from mytable where id = 7 for update; 意向锁 分为意向排它锁(IX)和意向共享锁(IS),它们都原创 2021-03-29 14:38:38 · 76 阅读 · 1 评论 -
mysql中索引的使用
索引分为主键索引、唯一索引、普通索引。 主键索引 拥有主键约束的列含有主键索引。 添加主键约束: alter table [db].[table] add constraint [pk_name] primary key([col]); [pk_name]:自定义主键约束名称 [db]:库名 [table]:表名 [col]:列名 注:每个表中主键只能有一个 唯一索引 拥有唯一约束的列含有唯一索引。 添加主键约束: alter table [db].[table] add constraint [u原创 2021-03-29 14:00:16 · 99 阅读 · 0 评论 -
MySQL 获取所有库名、表名、字段名
存放表名和库名的对应 select * from information_schema.tables 存放字段名和表名的对应 select * from information_schema.columns 查询库名 select table_schema from information_schema.tables GROUP BY table_schema select table_schema from information_schema.columns GROUP BY table_s..原创 2021-03-12 16:08:27 · 1329 阅读 · 0 评论 -
python框架Django连接mysql
a.使用MySQL数据库首先需要安装驱动程序 pip install PyMySQL b.在Django的工程同名子目录的__init__.py文件中添加如下语句 import pymysql pymysql.install_as_MySQLdb() 作用是让Django的ORM能以mysqldb的方式来调用PyMySQL。 c.修改DATABASES配置信息 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mys原创 2021-03-09 10:38:56 · 171 阅读 · 0 评论