栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于 mysql

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于 mysql

数据库事务

==原子性==(Atomicity);     事务是一个不可分割的单元,事务中的操作要么全部执行,要么全部不执行。
==一致性==(Consistency);    事务执行前后数据的完整性必须保持一致。
==隔离性==(Isolation);        多个用户并发访问数据库时,数据库为每一个用户开启一个事务,多个事务并发执行时,相互之间是隔离开的,互不影响。
==持久性==(Durability);    事务一旦提交,对数据库中数据的改变是永久性的。

 

事务的隔离级别

==读未提交==;
事务A更新了数据,但是还没提交;事务B就读取到A更新的数据,事务A回滚后,B就看不到更新的数据。
==读已提交==;
事务A更新数据并完成提交;事务B内部就可以读取到A更新的数据。
==重复读==;
事务A更新数据并完成提交;在事务B提交之前,其内部无法读取到A更新的数据,只能读取到之前的旧数据。
一个事务进行两次相同条件的查询时,后一次查询看到了上一次没有看到的行。
==串行化==;
所有事务串行执行,一个执行完成,再执行另一个。

 

 

Mysql常用存储引擎和区别
     
     MySQL5.5之前,默认引擎是“MyISAM”;从MySQL5.5版本开始,默认引擎是“InnoDB”

    InnoDB         支持事务、外键、行锁
    MyISAM         支持表锁,访问快
    Memory         存在内存中

 

 myISAM和Innodb的区别是什么
    
    InnoDB支持事务,MyISAM不支持
     InnoDB支持外键,而MyISAM不支持
    InnoDB存放的就是实际的数据记录,MyISAM存放的是数据记录的地址

 

 

hash索引和btree的区别

    Innodb和MyISAM默认的索引是Btree索引
    Memory默认的索引是Hash索引

 

说一下mysql中的锁

    粒度:表级锁,行级锁,页级锁
    级别:共享锁、排他锁 
    加锁方式:自动锁、显式锁 
    操作划分:DML锁、DDL锁 
    使用方式:悲观锁、乐观锁

 

死锁是如何造成的,怎么避免

死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去

查询是否锁表
查询进程
杀死进程id

 

什么是sql注入

SQL 注入是一种非常常见的数据库攻击手段,SQL 注入漏洞也是网络世界中最普遍的漏洞 之一

 

 

索引的作用和类型

索引用于快速在某一列中找到特定的值
单列索引    组合索引    全文索引    空间索引

 

 

sql优化基本原则

1.减少select *
2.使用like时避免使用%
3.null包含的列不作为索引
4.不要使用 count(id) , 而应该是 count(*)

 

索引失效的原因
    条件中有or
    like查询以%开头,索引无效
    当字段类型为字符串时,条件中数据没有使用引号引用

 

什么情况下不建议用索引
    唯一性差的字段不适合创建索引
    表经常需要更新的不适合做索引
    查询结果量大的时候不使用索引
    数据表过大则有些字段不适合作为索引

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号