mysql
文章平均质量分 87
错落有致
没有什么过不去,只有再也回不去。
展开
-
linux的mysql数据库的由于权限问题看不到mysql库user表
今天在安装mysql数据库后,想开启远程连接,发现查询不到了mysql数据库自带的mysql数据库,也改不了user表. 是由于用户的权限问题导致,解决办法如下:转载 2015-11-13 15:38:17 · 30108 阅读 · 3 评论 -
mysql优化(三) 逆规范化与反三范式
数据库设计时要满足规范化这个道理大家都非常清楚,甚至有数据库的三范式, 好吧, 这有点让我想起了机器人的三定律.但是否数据的规范化程度越高越好呢?这还是由实际需求来决定。因为规范化越高,那么产生的关系就越多,关系过多的直接结果就是导致表之间的连接操作越频繁,而表之间的连接操作是性能较低的操作,直接影响到査询的速度,所以,对于査询较多的应用,就需要根据实际情况运用逆规范化对数据进行设计,通过逆规范化原创 2017-01-06 11:48:45 · 5519 阅读 · 0 评论 -
mysql优化(二) 通过拆分提高表的访问效率
这里所说的”拆分”,是指对数据表进行拆分。大体有两种拆分方法。1 第一种方法是垂直拆分,即把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。如果一个表中某些列常用,而另一些列不常用,则可以采用垂直拆分,另外,垂直拆分可以使得数据行变小,一个数据页就能存放更多的数据,在査询时就会减少I/O次数。其缺点是 需要管理冗余列,査询所有数据需要联合(join)操作。2 第二种方法是水平拆分,即原创 2017-01-05 18:09:57 · 2651 阅读 · 0 评论 -
mysql优化(一) procedure analyse()优化表的数据类型
在创建数据库表之初, 需要考虑好表内每个字段的数据类型选择什么, 长度是否应该留有一定冗余.MYSQL 提供了一个PROCEDURE ANALYSE() 函数可以对某张表进行分析, 同时还对数据库表列的数据类型提出了优化建议, 用户可以根据实际情考虑进行优化.实用实例: select * from login_logger PROCEDURE ANALYSE(); select * from l原创 2017-01-05 18:01:31 · 890 阅读 · 0 评论 -
如何定位 问题SQL的【一般套路】
拿到了一个运行了一段时间的mysql数据库, 该如何进行系统的分析, 尽快的定位问题SQL并解决呢?一 首先,通过show status命令了解一下当前数据库各种SQL执行的频率. 格式:mysql> show [session|global] status; 其中:ses原创 2016-12-27 16:32:41 · 4997 阅读 · 0 评论 -
深入解析MySQL分区(Partition)功能
自5.1开始对分区(Partition)有支持= 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。=== 水平分区的几种模式:===* Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980's)的数据,90年代(1990'转载 2016-12-15 18:12:26 · 583 阅读 · 0 评论 -
Mysql分区/分片 精炼详解
一 分区概念mysql 5.1 以后支持分区, 有点类似MongoDB中的分片概念.就是按照一定的规则, 将一个数据库表分解成很多细小的表, 这些细小的表可以是物理的分区, 就是在不同的位置. 但是站在应用的角度来看,分区又是透明的, 整体上看起来还是一个表,不影响使用.二 分区优点 1 可以存储更多的内容, 因为物理上可以放在不同的位置. 2 提高查询效率, 如果分区原创 2016-12-15 18:08:55 · 15120 阅读 · 1 评论 -
mysql 一次性导出全部数据库【数据库备份及迁移】
像SQLyog 和NavCat 等mysql可视化工具都是自带数据库同步工具的. eg: 但是如果数据库少还可以使用,如果多则几十个数据库的话, 这样一个 一个复制太慢了.于是,我们可以使用mysqldump 命令进行所有数据库的一次性导出,然后用source命令, 再新的数据库一次性导入. mysqldump -h 192.168.1.200 -uroot -p –all-databases原创 2016-12-13 15:07:18 · 10821 阅读 · 0 评论 -
mysql 自定义自增序列
公司项目需求需要在一张包含自增主键的mysql表中,再次增加一个自增字段,但是mysql只支持一张表一个自增字段。CREATE TABLE IF NOT EXISTS `sequence` ( `name` varchar(50) NOT NULL, `current_value` int(11) NOT NULL, `increment` in原创 2016-01-14 15:14:49 · 5127 阅读 · 0 评论 -
MySQL查询优化-explain
一、MySQL 查询优化器是如何工作的 MySQL 查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。最终目标是提交 SELECT 语句查找数据行,而不是排除数据行。优化器试图排除数据行的原因在于它排除数据行的速度越快,那么找到与条件匹配的数据行也就越快。如果能够首先进行最严格的测试,查询就可以执行地更快。转载 2015-12-15 16:01:26 · 432 阅读 · 0 评论 -
windows安装两个mysql数据库 5.5 5.7 【图】
本来电脑上有一个5.5版本的数据库, 项目开发的时候有个特殊的需求, 要用到mysql5.7新特性的 JSON类型字段存储东西. 于是开发阶段, 需要再在本机上搞一个5.7版本的.废话不多说:1 第一个数据库5.5正常安装. 2 下载mysql 5.7 压缩版,官网 http://dev.mysql.com/downloads/mysql/ 3 解压到你电脑的路径,并copy mysql配置文原创 2016-12-20 11:47:18 · 9159 阅读 · 1 评论