美文网首页Python查漏补缺
【查漏补缺】Python数据库高阶:事务、索引、账户管理241~

【查漏补缺】Python数据库高阶:事务、索引、账户管理241~

作者: TensorFlow开发者 | 来源:发表于2019-03-19 08:13 被阅读12次

241.事务的四大特性ACID:atomicity原子性(不可再分割)、consistency一致性、isolation隔离性(相当于谁先抢到谁加锁,只有释放锁后其他才能处理)、durability持久性(一旦事务提交,将真正地持久化存在数据库了)。

242.使用Python代码操作MySQL的增删改时,因为必须要commit,即:默认开启了事务。

243.Window黑窗口、Mac终端中操作数据表,默认每一行增删改语句都是自成事务。查询不涉及更新数据,无所谓事务不事务。

244.索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),索引包含着对数据表里所有记录的引用指针。说白了就是,数据库索引好比生活中一本书前面的目录,能加快数据库的查找速度。

数据库中的索引思想,好比C语言的指针思想。

245.开启运行时间监测,SQL语句:set profiling=1;
...
查看执行的耗时:show profiles;

246.创建索引:create index 索引名 on 表名(字段名)或者当被创建索引的字段为字符类型时,例如为字段name varchar(20)创建索引,则通常指定字段的字符的最大长度,书写格式为:create index 索引名 on 表名(name(20)),其他类型的则不用指定。

247.索引通常数据量越大,效果也更明显。例如:10万条数据时,用索引比不用索引,查询效率就已提高了2个数量级。

248.索引原理:通过不断缩小想要的数据的查找范围来最终筛选出目标数据,同时把随机查找变成顺序查找,也就是总是通过同一种方式锁定目标数据。

249.索引是一种特殊的文件,一般一个索引只关联着一张数据表的一个字段。对同一张数据表的其他未有索引的字段进行查询,这个已有的索引是起不到任何优化作用的。说白了就是,只有用已建立索引的字段进行查询,索引才会发挥作用。

250.查看一张表中已有的索引:show index from 表名;

251.删除索引:drop 索引名 on 表名;

252.只有对数据表中非常常用的字段建立索引,并不是对每个字段都建立索引的。因为一张表中索引建立太多,反过来是会影响数据更新速度的,每次更新数据都要更新索引,对更新数据效率不利。另外,索引也是会占用内存空间的。

253.默认情况下,一张表的主键、外键在创建表时,都自动建立了索引。也就是,使用一张表的主键或外键查询时,比没有建立索引的字段去查询速度会高很多。

254.创建索引的底层是用C实现的,很多涉及到效率的优化,大多都是用C实现的。

255.创建账户并对某数据表授权:grant 权限列表 on 数据库名.数据表 to '用户名'@'用户主机' identified by '密码';

说明:权限列表,如让账户只有查询权限,则写:select;如果让账户具有所有权限,则写:all privileges

如果直接对某数据库创建账户并授权,则用数据库名.*即可。

'用户主机' 可以设置为'localhost' 或者具体的IP。如果想要任一台电脑都可访问,则写%即可。

256.修改某账户的权限:grant 权限列表 on 数据库名.数据表 to '用户名'@'用户主机' with grant option;

修改后一定记得刷新一下权限:flush privileges;

257.删除账户方式有二,第一种root登录后直接去删除:drop user '用户名'@'用户主机';

第二种是去账户数据表中删除账户:delete from user where user='账户名';

删除后一定记得刷新一下权限:flush privileges;

相关文章

  • 【查漏补缺】Python数据库高阶:事务、索引、账户管理241~

    241.事务的四大特性ACID:atomicity原子性(不可再分割)、consistency一致性、isolat...

  • 【Android面试查漏补缺】之事件分发机制详解

    前言 查漏补缺,查漏补缺,你不知道哪里漏了,怎么补缺呢?本文属于【Android面试查漏补缺】系列文章第一篇,持续...

  • mysql高级:视图、事务、索引

    # mysql高级:视图、事务、索引 * 视图 * 事务 * 索引 * 账户管理 * 主从 ## 1.视图 动态抽...

  • 【justforme】python查漏补缺

    数据类型(也是对象来的) 整数(0xffe3)、浮点数(1.23e5==1.23*10的5次方)、字符串、True...

  • python查漏补缺-基础

    最近刷题感觉一些简单的概念看似很熟悉,实际上还有很多旮旯需要掌握,本篇不做笼统的汇总,仅针对一些易混淆概念之间的区...

  • 查漏补缺

    如果想让HTML5标签兼容低版本浏览器的话,可以使用 html5shiv js来实现。注意:一定要把它引入到前面。...

  • 查漏补缺

    图文环绕和浮动 最初的CSS只是用来写文章,熟练使用float和clear两个属性来布局: float属性:指定一...

  • 查漏补缺

    1.js字符串转换成数字与数字转换成字符串的实现方法https://www.2cto.com/kf/201612/...

  • 查漏补缺

    浮动原理 1.使用之初:是为了让文字环绕图片,并且不会遮住文字。如果让图片与文字有间距,我们在浮动元素上添加。2....

  • 查漏补缺

    今天数学老师外出学习,我用了一上午的时间给孩子们查漏补缺。 首先,训练朗读:从段落与段落之间的大停顿...

网友评论

    本文标题:【查漏补缺】Python数据库高阶:事务、索引、账户管理241~

    本文链接:https://www.haomeiwen.com/subject/awkmmqtx.html