
mysql
andybbc
这个作者很懒,什么都没留下…
展开
-
B-Tree 索引
1. 合理设计并利用索引索引优化,可以说是数据库相关优化,尤其是Query 优化中最常用的优化手段之一。很多人大部分时候都只是大概了解索引的用途,知道索引能够让 Query 执行得更快,但并不知道为什么会更快。尤其是索引的实现原理、存储方式,以及不同索引之间的区别等就更不清楚了。正因为索引对Query的性能影响很大,所以我们更应该深入理解 MySQL 中索引的基本实现,以及不同索引之间的转载 2016-01-20 13:37:51 · 529 阅读 · 0 评论 -
MySQL 外键实现级联操作
MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更新;CASCADE表示父表在更新或原创 2016-01-25 14:58:19 · 506 阅读 · 0 评论 -
数据库事务介绍
事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 针对上面的描述可以看出,事务的提出主要是为了解原创 2016-01-27 10:19:30 · 389 阅读 · 0 评论 -
linux下mysql数据的导出和导
一、导出数据库1.导出整个数据库中的所有数据mysqldump -u userName -p dabaseName > fileName.sqlfileName.sql最好加上路径名2.导出数据库中的某个表的数据mysqldump -u userName -p dabaseName tableName > fileName.sql3原创 2016-01-29 11:16:55 · 4692 阅读 · 0 评论 -
MySQL group_concat() 长度限制
使用mysql group_concat()的时候发现总是有些结果是不完整的,原来group_concat()有长度限制1024。解决方法:在msyql配置文件my.ini中加上 group_concat_max_len = 200000 就ok了。原创 2016-01-29 13:20:00 · 419 阅读 · 0 评论 -
Mysql避免全表扫描sql查询优化
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引: .尝试下面的技巧以避免优化器错选了表扫描:· 使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。· 对扫描的表使用FORCE INDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。 SELECT *原创 2016-01-29 13:22:19 · 592 阅读 · 0 评论 -
Innodb中的事务隔离级别和锁的关系
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。#一次封转载 2017-01-19 17:45:12 · 413 阅读 · 0 评论 -
MySQL索引原理及慢查询优化
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问转载 2017-01-19 17:46:26 · 366 阅读 · 0 评论 -
mysql 用户角色权限表建立
建表sql[sql] view plain copy #创建表使用的数据库 use springmvc; #权限表 create table authoritys( id_ smallint unsigned primary key auto_increment,#权限id name_ var转载 2017-01-22 17:01:34 · 6602 阅读 · 2 评论 -
mysql 表名忽略大小写设置
查看大小写区分mysql> show variables like "%case%";+------------------------+-------+| Variable_name | Value |+------------------------+-------+| lower_case_file_system | OFF | | lower_原创 2016-01-25 14:33:48 · 794 阅读 · 0 评论 -
MySQL性能分析及explain的使用
MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助。1.使用explain语句去查看分析结果如explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len r转载 2016-01-25 14:28:10 · 277 阅读 · 0 评论 -
MySQL索引的创建、删除和查看
1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为1~1000的数值,查找对应值相等行的查询如下所示。SELECT c1,c2,c原创 2016-01-21 11:10:04 · 487 阅读 · 0 评论 -
MYSQL-ERROR(1030 - Got error 28 from storage engine)
1、app平台提示错误:MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => select a.*,ac.type_id from qinba_article as a left join qinba_article_cate as原创 2016-01-21 11:56:33 · 917 阅读 · 0 评论 -
mysql中myisamchk命令使用总结
myisamchk命令使用总结 myisamchk实用程序可以用来获得有关你的数据库表的统计信息或检查、修复、优化他们 1.常用于myisamchk的检查选项--information, -i打印所检查表的统计信息。--fast,-F只检查没有正确关闭的表。--force, -f如果myisamchk发现表内有任何错误,则自动进行修复转载 2016-01-22 15:40:45 · 6028 阅读 · 0 评论 -
mysqladmin命令修改Mysql密码
1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:mysqladmin -u root password 1234562.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:mysqladmin -u root -p password abcdef注意,命令回车后会问你旧密码,输入旧密码123456之后命令完成,密码修原创 2016-01-22 15:51:20 · 452 阅读 · 0 评论 -
MySQL添加用户、删除用户与授权
MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户 1.1 登录MYSQL: @>mysql -u root -p @>密码 1.2 创建用户: mysql> insert into mysql.user(Host,User,Password) values("local原创 2016-01-22 16:27:54 · 328 阅读 · 0 评论 -
MySQL下添加用户以及给予权限的实现
一、在mysql中添加用户的方法如下:1 使用root用户登录mysql -u root -p2 选择mysql数据库use mysql3 添加用户insert into user(Host,User,Password) values("localhost","你的用户名",password("你的密码"));把汉字换成你想使用的用户名或密码4 刷新MySQL原创 2016-01-22 16:29:57 · 539 阅读 · 0 评论 -
mysql binlog日志清除
mysql binlog日志定期清除:方法1.修改配置文件expire_logs_days = 10 #mysql-bin.000001等二进制日志10天后自动过期清除方法2.手动删除rm -f mysql-bin.00001方法3.SQL删除purge master logs to 'mysql-bin.000009' #删除不包括mysql-bin.000原创 2016-01-25 14:21:00 · 430 阅读 · 0 评论 -
MySQL ERROR 1005: Can't create table 分析
在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束。出现问题的几种情况如下:1、外键的引用类型不一样,如主键是int外键是char2、找不到主表中引用的列3、主键和外键的字符编码不一致,也可能存储引擎不一样原创 2016-01-25 14:24:57 · 1581 阅读 · 0 评论 -
MySQL建表规范与常见问题
一、 表设计库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。建议使用INT UNSIGNED存储IPV4。整形定义中不添加长度,比如使用INT,而不是INT(4)。使原创 2017-01-22 17:09:35 · 721 阅读 · 0 评论