MySql查询缓存机制的简介

缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE等,也包括那些映射到改变了的表的....
  •   
  • 15
  • mysql
  • 0
  • dodobook
  • 2017/01/23

MYSQL常见索引类型(主键索引/唯一索引/普通索引/组合索引)

在数据量特别大的数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令MySQL的查询和运行更加高效。 一、MySQL常见的索引类型如下 MySQL常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引 PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`c....
  •   
  • 23
  • mysql
  • 0
  • dodobook
  • 2017/01/20

MySQL查看、创建、修改和删除索引(Index)的方法

MySQL在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 1.MySQL创建索引 在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。 //ALTER TABLE ALTER TABLE用来创建普通索引、UNIQUE索引....
  •   
  • 27
  • mysql
  • 0
  • dodobook
  • 2017/01/20
mysql_批量插入_1

MySQL批量插入大量(10万条)数据的性能对比

MySQL的各个版本之间的改进和优化以及变化都很大,我们的服务器性能以及复杂度也变化很大。小编dodo只是做了一个简单的本地测试。以下数据仅供参考,实践实践验证里的唯一标准。 本地服务器:Windows CPU--i7 内存8G 64位的系统 MySQL版本:5.7.11 PHP框架: Yii2 场景需求如下: 目标:插入10万条文章的列表数据(没有文章内容) 数据库中id是自增主键 插入字段:栏目I....
  •   
  • 264
  • mysql
  • 0
  • dodobook
  • 2017/01/19

Yii2的bacthInsert以及MySQL中的INSERT IGNORE INTO 批量

之前写了一篇Yii2批量插入的方法,现在处理一下再批量插入过程中出现重复主键等的报错的机制。Yii2的batchInsert中batchInsert($table, $columns, $rows);只接收3个参数,没有ignore这个参数。所以也就没有在批量插入的时候有忽略跳过错误的方法。也就是其中一条语句报错,则该执行全部不执行,和mysql的执行语句保持一致。下面看代码。(假设我需要对用户打标签,并且有个....
  •   
  • 136
  • mysql
  • 0
  • dodobook
  • 2016/12/28

求MySQL一个SQL语句 不包含某个标签的用户列表

现在的需求和情况是有两张表(用户表和用户标签表),单个用户可以有多个标签,也可以没有任何标签。现在需要查询出不包含某个标签的用户的列表。 用户表 user_list ---ul user_id name 1 qq 2 weibo 3 weixin 4 facebook 5 twitter 用户标签标签表 user_tag ---ut user_id tag_id 1 100 1 101 1 102 3 101 5 102 求sql语句 查....
  •   
  • 158
  • mysql
  • 0
  • dodobook
  • 2016/11/18
MySQL8.0

MySQL 8.0 DMR 发布,废弃了 MyISAM 存储引擎

MySQL 8.0发布,是时候与MyISAM说再见了!!!! MySQL 8.0 DMR(development milestone release)发布,作为Oracle MySQL ACE已在半个多月前就收到邮件通知,并提供了8.0的下载安装包。但由于官方要求,只能自己默默测试,无法给大家带来一手消息。    当然,8.0继续保持体积不断增大的优良传统。5.7的600M+已经让人难以接受,8.0直接来到了720M+,这绝对是要追赶Oracle的节奏....
  •   
  • 278
  • mysql
  • 2
  • dodobook
  • 2016/09/26

MySQL最优配置文件·20160901[转载]

之前Inside君分享过MySQL 5.6 & 5.7最优配置模板,受到了不少小伙伴的推崇。结合这段时间的生产环境实战经验以及同学们的反馈,故对此配置文件做了一定的调整。 同时,希望小伙伴们能积极转发此文,为打造一个最优MySQL标准配置文档做出自己的贡献。欢迎大家提供反馈意见。 在这份配置文件中,Inside君假设这台服务器的CPU为32 Core,内存为256G,存储为SSD,并且在16....
  •   
  • 231
  • mysql
  • 0
  • dodobook
  • 2016/09/26

解决MySQL启动出现The server quit without updating PID file.

今天早上在一个技术群里面帖了一下自己的博客地址。不知道是哪位大神的恶作剧,还是其他方面的原因(待分析),发现自己的网站504 Bad Gate 了。持续了几分钟还是这个错误,试图登录服务重启相关的nginx进程。 发现登录Linux也很久没登录成功,果断直接就去阿里云的后台重启服务器了(不建议这么处理).之后能登录服务器,但是发现网站还是访问不了,报错是数据库未启动。Error estab....
  •   
  • 422
  • mysql
  • 0
  • dodobook
  • 2016/09/13

Linux(CentOS)下启动/停止/重启MySQL数据库的方法

Linux服务器下面的MySQL需要定期的维护,就需要掌握一些常见的命令,MySQL启动、停止MySQL、重启MySQL等是每个拥有独立主机的站长必须要撑握的操作,下面为大家简单介绍一下操作方法: 一、MySQL启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/init.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、MySQL停止....
  •   
  • 596
  • mysql
  • 0
  • dodobook
  • 2016/09/12

MySQL5.7里datetime字段Invalid default value ‘0000-00-00′

最近在做一个数据库的备份和迁移,从mysql5.6备份之后迁移到mysql5.7里面,因为mysql5.7的性能有很大的提高。备份很顺利,还原却遇到了问题: [SQL] CREATE TABLE `member2` ( `id` int(11) NOT NULL, `name` varchar(20) NOT NULL, `birth` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;....
  •   
  • 433
  • mysql
  • 0
  • dodobook
  • 2016/09/11

MySQL中的varchar类型 char类型、text类型详解与区别

1.varchar类型的变化 MySQL 数据库的varchar类型在4以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来....
  •   
  • 271
  • mysql
  • 0
  • dodobook
  • 2016/09/06

MySQL中varchar()的最大长度 char(255)最大长度

MySQL的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532。 varchar()最大可设置为 65532 / 3 = 21844 (utf8) char()最大是255个字符,不论什么编码 英文和数字的话两种都是一个字母是1个字节. 就中文汉字来说,utf8占3个字节,gbk占2个字节。varchar(n),这里的n代表n个字符。 mysql表....
  •   
  • 302
  • mysql
  • 0
  • dodobook
  • 2016/09/06

MySQL中varchar(20)可以存多少个汉字 char(20)可以存多少汉字

设计数据库字段长度的时候,不由得会想:MySQL中varchar(20)可以存多少个汉字?char(20)可以存多少汉字?? 答案:都是20个!!! MySQL中varchar(20)可以存20个汉字!!! MySQL中varchar(20)可以存20个字母数字。 MySQL中char(20)是可以存20个汉字或字母的。 因为:mysql中的varchar适合输入英文和数字以及汉字。 4.0版本及以下,varchar(20),指的是20字节,如果存放UTF8汉字时,....
  •   
  • 349
  • mysql
  • 0
  • dodobook
  • 2016/09/06

MySQL主键能重复吗?一台服务器可以安装多个MySQL吗?

MySQL主键能重复吗? 不能!!! MySQL主键能为空吗? 不能!!!! MySQL联合主键其中字段能为空吗? 不能!!!! MySQL的text字段可以设默认值吗? 不能!!! 一台服务器可以安装多个MySQL吗? 可以!!!! 目录和端口不一样就可以了 拷贝一份,改下配置文件就可以了 MySQL一台服务器能做主从吗? 可以!!! 一台服务上多个MySQL提供服务 如果你多个mysql都提供服务的话,这不叫主从了,这....
  •   
  • 217
  • mysql
  • 0
  • dodobook
  • 2016/09/06

修改更新查找MySQL5.7.x的root用户的默认密码

最近新安装了wamp3.0.4里面附带的mysql已经升级到了5.7版本了。MySQL5.7在性能方面有很大的提升。安装成功之后默认root的密码为空能登录。但是正常情况下需要给root重新设置新的密码。对于MySQL5.7版本来说和之前的5.6及以下版本的user表不一样了(user表里面没有了password这个字段了,mysql5.7 中保存密码的字段是 authentication_string)。直接上命令行。 mysql5.7 ....
  •   
  • 441
  • mysql
  • 0
  • dodobook
  • 2016/08/31

MongoDB查询指定字段(field)返回指定字段的方法

使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *。在MongoDB里面映射(projection)声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默认_id是包含在结果集合中的,要从结果集....
  •   
  • 472
  • mysql
  • 0
  • dodobook
  • 2016/08/29

MongoDB增删改查\创建复制\帮助\语句块等常用操作命令

MongoDB常见命令增删改查等的相关收集和整理。成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令。如:如果你想创建一个"my_db"的数据库,先运行use my_db命令,之后就做一些操作。如:db.createCollection('tbl_user')),这样就可以创建一个名叫"my_db"的数据库。....
  •   
  • 251
  • mysql
  • 0
  • dodobook
  • 2016/08/29

CAP定理(CAP theorem)、BASE以及NoSQL简史、优缺点

CAP定理(CAP theorem) 在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistency) (所有节点在同一时间具有相同的数据) 可用性(Availability) (保证每个请求不管成功或者失败都有响应) 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续....
  •   
  • 430
  • mysql
  • 0
  • dodobook
  • 2016/08/11

关系型数据库遵循ACID规则以及分布式系统

关系型数据库遵循ACID规则:原子性、一致性、独立性、持久性 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1、A (Atomicity) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。 比如银行转账,从A账户转100元至B账户,分....
  •   
  • 216
  • mysql
  • 1
  • dodobook
  • 2016/08/11