软件测试mysql面试题:Myql中的事务回滚机制概述
Myql中的事务回滚机制概述事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销。要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完,可能第二个表修改过程中出现了异常而没能修改,此时就只有第二个表依旧是未修改之前的状态,而第一个表已经被修改完毕。而当你把它们设定为一个事务的时候,当第....
软件测试mysql面试题:什么情况下不宜建立索引?
什么情况下不宜建立索引?对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引。 对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等
软件测试mysql面试题:简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响?
简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。普通索引允许被索引的数据列包含重复的值。如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建....
软件测试mysql面试题:索引对数据库系统的负面影响是什么?
索引对数据库系统的负面影响是什么?创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;索引需要占用物理空间,不光是表需要占用数据空间,每个索引也需要占用物理空间;当对表进行增、删、改、的时候索引也要动态维护,这样就降低了数据的维护速度。
软件测试mysql面试题:索引的目的是什么?
索引的目的是什么?快速访问数据表中的特定信息,提高检索速度 创建唯一性索引,保证数据库表中每一行数据的唯一性。 加速表和表之间的连接 使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
软件测试mysql面试题:优化数据库的方法?
优化数据库的方法?1.选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如’省份’、’性别’最好适用ENUM2.使用连接(JOIN)来代替子查询3.适用联合(UNION)来代替手动创建的临时表4.事务处理5.锁定表、优化事务处理6.适用外键,优化锁定表7.建立索引8.优化查询语句
软件测试mysql面试题:什么情况下设置了索引但无法使用?
什么情况下设置了索引但无法使用?① 开头的LIKE语句,模糊匹配② OR语句前后没有同时使用索引③ 数据类型出现隐式转化(如varchar不加单引号的话可能会自动转换为int型)
软件测试mysql面试题:如何进行SQL优化?
如何进行SQL优化?(1)选择正确的存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的....
软件测试mysql面试题:varchar与char的区别?
varchar与char的区别?char的特点char表示定长字符串,长度是固定的;如果插入数据的长度小于char的固定长度时,则用空格填充;因为长度固定,所以存取速度要比varchar快很多,甚至能快50,但正因为其长度固定,所以会占据多余的空间,是空间换时间的做法;对于char来说,最多能存放的字符个数为255,和编码无关 varchar的特点varchar表示可变长字符串,长度是....
软件测试mysql面试题:百万级别或以上的数据如何删除?
百万级别或以上的数据如何删除?关于索引:由于索引需要额外的维护成本,因为索引文件是单独存在的文件,所以当我们对数据的增加,修改,删除,都会产生额外的对索引文件的操作,这些操作需要消耗额外的IO,会降低增/改/删的执行效率。所以,在我们删除数据库百万级别数据的时候,查询MySQL官方手册得知删除数据的速度和创建的索引数量是成正比的。1.所以我们想要删除百万数据的时候可以先删除索引(此时大概耗时三分....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。