![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 61
iCoding91
KISS
keep it simple and short
展开
-
MySQL知识点总结
MySQLsql查询过程中,如何判定当前sql是否命中缓存? 比较当前sql的查询文本和缓存中的sql,比较内容包括:大小写、空格等。如果缓存中的sql和当前sql的文本一模一样,则命中缓存。直接返回缓存结果,不再进行sql解析、优化等操作。 Mysql默认的锁级别是行锁,那么什么时候使用表锁呢? MyISAM 总体看:只支持表锁,也就是select时加读锁,(update,in...原创 2018-09-15 21:35:55 · 373 阅读 · 0 评论 -
MySQL 导入数据load data infile用法
1、load data infield功能:MySQL的一个高效导入数据的方法,它的速度非常快。是MySQL里一款强大的数据导入工具。2、语法:load data [low_priority] [local] infile 'file_name txt' [replace | ignore]into table tbl_name[fields[terminat原创 2017-05-20 10:59:56 · 15895 阅读 · 0 评论 -
MySQL 的blackhole存储引擎
认识MySQL的blackhole引擎是在学习MySQL的复制拓扑中遇到的。出现场景是:为了避免在分发主库上做具体实际的查询,可以将它的表修改为blackhole存储引擎。1、什么是blackhole引擎创建一个blackhole的表时,服务器server在数据库目录创建一个表定义文件。文件用表的名字开头,以.frm作为扩展名。没有其他文件关联到这个表。blackhole表不存储任何数据。原创 2017-05-18 10:06:21 · 1485 阅读 · 0 评论 -
MYSQL 百万条记录全文检索中文解决方案
转自:http://blog.sina.com.cn/s/blog_7865b0830101ach4.html说起数据库,MYSQL最适合用于小型运用的开发。最近想弄一个简单的音乐网站玩一下,数据库是以前在网上爬去的。数据不是特别多,但是也不少,查了一下一共有六十多万条歌曲的记录。既然是做音乐网站的话,首先要有一个搜索的功能,至少要能够搜索你有的歌曲吧。由于以前没有怎么认真弄过转载 2017-04-22 11:05:08 · 1901 阅读 · 0 评论 -
What does Using filesort mean in MySQL?
原文地址:https://www.percona.com/blog/2009/03/05/what-does-using-filesort-mean-in-mysql/译文如下:如果你来Persona面试,那我会问你:在EXPLAIN中using filesort是什么意思?你会怎样回答呢?直到目前为止,我已经在大量的面试中问到过这个问题,这其中包括一些很聪明的面试者,然而没有翻译 2017-04-22 10:45:59 · 508 阅读 · 0 评论 -
MySQL中show的相关命令
-- 用到的数据库:mybatis-- 用到的数据库表:users(id,username)-- 登陆用户为:root-- 所用数据库:本机MySQL localhostSHOW DATABASES -- 列出 MySQL Server上的数据库。show databases;SHOW TABLES [FROM db_name] -- 列出数据库中的表。s原创 2017-04-21 20:45:25 · 3038 阅读 · 0 评论 -
MySQL的字符串截取函数
MySQL字符串截取函数有:left(),right(),substring(),substring_index(),还有mid() ,subset()。但mid() ,subset()和substring()功能一样。所以会用substring()就行了。为方便起见,所以在本次MySQL连接中设置了一个用户自定义变量,字符串@str,以方便下面多次对其的操作。1、自定义变量设定的sql:原创 2017-04-21 10:36:10 · 691 阅读 · 0 评论 -
深入理解mysql SET NAMES和mysql(i)_set_charset的区别
转自:http://www.jb51.net/article/29576.htm最近公司组织了个PHP安全编程的培训, 其中涉及到一部分关于Mysql的 SET NAMES 和mysql_set_charset (mysqli_set_charset)的内容说到, 尽量使用mysqli_set_charset(mysqli:set_charset)而不是”SET NAMES”,转载 2017-04-20 10:08:57 · 1756 阅读 · 0 评论 -
MySQL中的group by 注意事项
1、建表test_group_by:create table test_group_by( id TINYINT not null, uname varchar(10) , age TINYINT DEFAULT 0, class TINYINT DEFAULT 1, PRIMARY key(id))engine=INNODB2、插入数据:INSERT原创 2017-04-05 21:55:20 · 5902 阅读 · 3 评论 -
MySQL中的count()函数
1、count()有两大作用: 1.1、统计某个列值的数量。 1.2、统计行数。2、实例 2.1、统计列值时,要求列值非空的(不统计null)。如果在count()的括号中指定了列或者列的表达式,则统计的是这个表达式有值的结果数。所谓的有值,就是不为null。建表 users: DROP TABLE IF EXISTS `users`原创 2017-04-05 17:13:02 · 564 阅读 · 0 评论 -
MySQL 导出数据select into outfile用法
1、select into outfield 功能:导出数据到pc的指定目录下。2、语法:SELECT ... INTO OUTFILE 'file_name' [CHARACTER SET charset_name] [export_options]export_options: [{FIELDS | COLUMNS}原创 2017-05-20 12:07:45 · 45562 阅读 · 1 评论 -
MySQL8.0的InnoDB和MyISAM是否支持hash索引
今天和同学探讨说MySQL哪些存储引擎支持hash索引,因为所看书籍MySQL版本和现有的MySQL版本有出入,故中间出了点歧义。所以就手动敲了一下代码,测试了一下MySQL8.0中的存储引擎是如何支持hash索引的。我们都知道MySQL最常用的存储引擎为InnoDB和MyISAM。它们默认的存储引擎都是B-Tree(实质为B+Tree)。他们本身都是不支持hash索引的。但是我们在建原创 2017-05-21 13:50:40 · 5128 阅读 · 0 评论 -
truncate与delete的区别
转自:http://blog.163.com/jun_ai_ni_1314/blog/static/1378480552010426112233123/truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而tr转载 2017-06-22 11:43:31 · 334 阅读 · 0 评论 -
关系数据库相关的一些概念
关系数据库相关的一些概念感觉对于数据库用的时候比较多,但是面试时候一旦问到一些概念性的问题,就不知道怎么解释。所以整理一些今天在网易被问到的关系数据库的问题。 1.关系数据库的理解定义的角度: 建立在关系数据库模型基础上的数据库 借助于集合代数等概念和方法来处理数据库中的数据 是一个被组织成一组拥有正式描述性的表格,该表格作用的实质是装载着数据项的特殊收集体。 ...原创 2018-04-21 21:58:26 · 779 阅读 · 0 评论 -
普通索引 唯一索引 主键索引 候选索引
对原文章排版进行了一些改进,方便查看,以下为原文章地址。转自:http://blog.csdn.net/qq_15037231/article/details/620555721、普通索引(1)定义:最基本的索引类型,没有唯一性之类的限制。(2)创建方式:a、创建索引,例如CREATE INDEX ON tablename (列的列表);b、修改表,例如ALTER转载 2017-11-04 17:49:39 · 1637 阅读 · 0 评论 -
区分聚集索引、非聚集索引、聚簇索引、稀疏索引、稠密索引
转自:http://blog.csdn.net/douunderstand/article/details/702150611、聚集索引聚集索引:指索引项的排序方式和表中数据记录排序方式一致的索引 也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据,即对表的数据按索引键的顺序进行排序,然后重新存储到磁盘上。因为数据在物理存转载 2017-10-20 10:13:23 · 15077 阅读 · 8 评论 -
数据库的ACID特性解释
1、牛客网题目:虽然之前看过acid特性,但是应该还是理解不够到位,再次记录一下。2、参考文章:http://blog.csdn.net/u012440687/article/details/52116108ACID特性数据库管理系统中事务(transaction)的四个特性(分析时根据首字母缩写依次解释):原子性(Atomicity)、一致性(Cons原创 2017-10-09 16:01:02 · 1115 阅读 · 0 评论 -
Java数据类型和MySql数据类型对应表
转自:http://www.cnblogs.com/JemBai/archive/2009/08/20/1550683.htmljava mysql 数据类型对照类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述 V转载 2017-09-12 21:39:44 · 204 阅读 · 0 评论 -
mysql 永久连接mysql_pconnect和mysql_connect
转自:http://blog.csdn.net/lxzo123/article/details/6590893 一直对mysql_pconnect和mysql_connect的理解差别是p链接是持久链接,不会关闭了链接,即使你使用了mysql_close();建立连接后,将保持sleep状态,可以使用show processlist 查看有哪些正在sleep的连转载 2017-09-28 15:44:45 · 1681 阅读 · 0 评论 -
mysql中unique key中在查询中的使用
1、建表语句:CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `原创 2017-09-11 10:37:18 · 11848 阅读 · 0 评论 -
MySQL删除列,添加列的sql语句
已有表actor,且包含列last_name-- 删除列, 以下两种方式都可以alter table actor drop column last_name;alter table actor drop last_name;-- 添加列,必须指定列的类型alter table actor add last_name varchar(10);原创 2017-09-25 10:17:12 · 15569 阅读 · 1 评论 -
数据库连接池浅析
转自:https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651479069&idx=2&sn=253cccaaf504357059c2a058ec17a2b4&chksm=bd2530628a52b97414a905ff38992b1ae0f204f59c6a19f85725c0070147026cb3c4d4201eaa&mpshare转载 2017-09-16 09:24:00 · 310 阅读 · 0 评论 -
MySQL中函数CONCAT及GROUP_CONCAT
觉得这个文章写的挺好的,都验证学习了一遍,保存。转自:http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html一、CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串。使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为转载 2017-04-05 12:07:31 · 306 阅读 · 0 评论 -
myisam和innodb中count(*)的区别
转自:http://blog.csdn.net/gtuu0123/article/details/5473045COUNT(*) for Innodb Tableshttp://www.mysqlperformanceblog.com/2006/12/01/count-for-innodb-tables/ 总结:1.myisam保存表的总行数,因此count(*)并转载 2017-04-05 11:09:13 · 779 阅读 · 0 评论 -
MySQL分组查询Group By实现原理详解
转自:http://blog.csdn.net/caomiao2006/article/details/52140993由于GROUP BY 实际上也同样会进行排序操作,而且与ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作。当然,如果在分组的时候还使用了其他的一些聚合函数,那么还需要一些聚合函数的计算。所以,在GROUP BY 的实现过程中,与转载 2017-03-30 23:10:52 · 759 阅读 · 0 评论 -
mysql中用到的一些sql语句
-- 查看数据库默认配置信息show variables -- 查看mysql数据库编码方式show variables like 'character_set_database' -- 查看数据库里表的编码方式,同时还能看到该表使用的存储引擎信息show create table char_test -- 修改数据库编码方式原创 2017-03-23 20:16:01 · 422 阅读 · 0 评论 -
mysql 编码和汉字存储占用字节问题的探索
转自:http://www.cnblogs.com/piperck/p/5896318.htmlMySql 5.0 以上的版本:1、一个汉字占多少长度与编码有关:UTF-8:一个汉字 = 3个字节,英文是一个字节GBK: 一个汉字 = 2个字节,英文是一个字节2、varchar(n) 表示n个字符,无论汉字和英文,MySql都能存入 n 个字符,仅实际字转载 2017-03-23 20:08:44 · 1065 阅读 · 0 评论 -
mysql修复表,索引
转自:http://blog.csdn.net/taoliujun/article/details/6832230REPAIR [LOCAL |NO_WRITE_TO_BINLOG] TABLE tbl_name[,tbl_name]... [QUICK] [EXTENDED] [USE_FRM]repair table用于修复被破坏的表。默认情况下,repair转载 2017-03-30 15:58:42 · 830 阅读 · 0 评论 -
mysql状态查看 QPS/TPS/缓存命中率查看
最近在看mysql,看到QPS,就想知道怎么查看的,看了下面这篇文章,觉得正是我需要的,留下来备用。转自:http://blog.163.com/ji_1006/blog/static/106123412013101421530142/运行中的mysql状态查看 对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态。转载 2017-03-30 09:43:40 · 4569 阅读 · 0 评论 -
mybatis之mybatis-config.xml 配置中的标签详解
NONE : 不做任何处理 (默认值)WARNING : 警告日志形式的详细信息FAILING : 映射失败,抛出异常和详细信息--> 话中执行的所有查询。 若设置值为 STATEMENT,本地会话仅用在语句执行上,对相同 SqlSession 的不同调用将不会共享数据。-->VARCH转载 2017-03-10 17:52:44 · 3471 阅读 · 1 评论 -
mybatis-config.xml文件标签介绍
configuration > settings> --> setting name="lazyLoadingEnabled" value="true">setting> setting name="aggressiveLazyloading" value="false">set原创 2017-03-10 17:02:51 · 634 阅读 · 0 评论 -
58到家数据库30条军规解读
军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表、数转载 2017-02-22 09:37:37 · 237 阅读 · 0 评论 -
数据库索引
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修转载 2016-12-06 09:56:32 · 335 阅读 · 0 评论 -
数据库并发机制和事务的隔离级别详解
学习总是让人开心的一件事,尤其当你发现你从对一个领域的未知到读到这个领域的文章都知道他在讲什么的时候,更是为自己的进步感到兴奋。其实最近都在研究mysql,看到下面这篇文章,觉得讲的和我自己知道的比较一致,条理很清晰,所以保留下来做个备用吧。转载内容如下:转自:http://blog.csdn.net/qq_25827845/article/details/64444896转载 2017-03-24 19:05:47 · 322 阅读 · 0 评论 -
mysql中操作符<=>的意思
mysql中操作符是安全等于的意思。是比较运算符,当比较的值含有null值的时候,来返回一个布尔值。比如:select 1null -- 结果为0select nullnull -- 结果为1。以下为转载内容:转自:http://kb.cnblogs.com/page/203622/ 问题 : 我在看以前的一个开发者的代码时看到WH原创 2017-03-25 23:33:00 · 6426 阅读 · 0 评论 -
MySQL索引的学习总结
花了一周的时间研究了一下MySQL的索引机制,做一点简单的总结和信息梳理吧。由于刚刚开始学习,如果哪里我理解的有误,还请大家提出宝贵意见。1、关于索引的基本认识: 1.1、MySQL中索引被称为“键(key)”。 1.2、由存储引擎层来负责实现。 注意:不是服务层实现。服务层通过API和存储引擎层进行通信。MySQL服务器逻辑架构图原创 2017-04-01 20:21:10 · 344 阅读 · 0 评论 -
MySQL函数if(expr1,expr2,expr3)
1、if(expr1,expr2,expr3)2、-- expr1 为0或者null或者false,则返回 expr3 ; 否则,返回expr2;-- expr1 为0或者null或者false,则返回 expr3 ; 否则,返回expr2;select if(0,2,3) as com -- 返回3select if(null,2,3) as com -- 返回原创 2017-04-05 10:53:08 · 7986 阅读 · 0 评论 -
MySQl复制---基于行的复制
转自:http://blog.csdn.net/chlinwei/article/details/67632206一、环境:主库(master)和从库(slave)均为刚刚安装好,且都是默认的数据库,也就是说两台服务器上的数据均相同二、MySQl实际复制过程概述:1)在主库上把数据更改记录到二进制日志(Binary log)中,这些记录被称为二进制日转载 2017-04-17 20:47:31 · 1050 阅读 · 0 评论 -
MySQL优化GROUP BY-松散索引扫描与紧凑索引扫描
转自:http://blog.csdn.net/zm2714/article/details/7887093满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表,表中每个组的所有行应为连续的,然后使用该临时表来找到组并应用累积函数(如果有)。在某些情况中,MySQL能够做得更好,即通过索引访问而不用创建临时表。 为GROUP BY使用索引的转载 2017-04-04 17:48:05 · 586 阅读 · 0 评论 -
MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
转自:http://blog.csdn.net/qh_java/article/details/14045827MySQL中的存储引擎:1、存储引擎的概念2、查看MySQL所支持的存储引擎3、MySQL中几种常用存储引擎的特点4、存储引擎之间的相互转化一、存储引擎:1、存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数转载 2017-03-17 12:20:02 · 360 阅读 · 0 评论