mysql小知识】的更多相关文章

char(10): 换行符 char(13): 回车符 UPDATE tablename SET field = REPLACE(REPLACE(field, CHAR(10), ”), CHAR(13), ”); #按字母排序 select * from tablename order by convert(columnname USING gbk) COLLATE gbk_chinese_ci asc mysqldump 备份数据 mysqldump -uroot -p1 baobanyou…
前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5;.......) { for(int j=1000;......) {} } 如果小的循环在外层,对于数据库连接来说就只连接5次,进行5000次操作,如果1000在外,则需要进行1000次数据库连接,从而浪费资源,增加消耗.这就是为什么要小表驱动大表. 2.数据准备 根据MySQL高级知识(十)—…
笔者从事开发也有一段时间了,关于数据库方面的一些小知识在这里总结一下 1.count(*),count(1)与count(column)区别 count(*)对行的数目进行计算,包含NULL count(1)对行的数目进行计算,包含NULL count(column)对特定的列的值具有的行数进行计算,不包含NULL值. 所以count(1)这个用法和count(*)的结果是一样的. 注意: 如果表没有主键,那么count(1)比count(*)快. 如果有主键,那么count(主键,联合主键)比…
今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 GB2312(简体) .GBK(简体).BIG5(繁体).UTF-8(多国语言编码) (2)<meta>标记的字符集设定与编辑环境的字符集一致 字符集设置:<meta http-equiv="content-type" content="text/html;…
Mysql存储过程知识,案例: create procedure delete_setting(in p_settingid integer) begin delete from setting where settingid=p_settingid; end select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE' show procedure status; show create pro…
前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识.行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高. 0.准备 #1.创建相关测试表tb_innodb_lock,注意数据库引擎为InnoDB. drop table if exists test_innodb_lock; CREATE TABLE test_innodb_lock ( a ), b ) ) ENGINE INNODB DEFAULT charset = utf8; ,'…
前言:锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算机资源(如CPU.RAM.I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据并发访问性能的一个重要因素.从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂. 1.锁的分类 #1.从对数据操作的类型来分 读锁(共享锁)和写锁(排它锁) #2.从对数据操作的粒度来分 表锁和行锁 2.表锁(偏读) 特点:偏向MyISAM存储引擎…
MySQL高级知识(一)——基础 MySQL高级知识(二)——Join查询 MySQL高级知识(三)——索引 MySQL高级知识(四)——Explain MySQL高级知识(五)——索引分析 MySQL高级知识(六)——索引优化 MySQL高级知识(七)——索引面试题分析 MySQL高级知识(八)——ORDER BY优化 MySQL高级知识(九)——慢查询日志 MySQL高级知识(十)——批量插入数据脚本 MySQL高级知识(十一)——Show Profile MySQL高级知识(十二)——全局…
前言:索引优化的目的主要是让索引不失效,本篇通过相关案例对索引优化进行讲解. 0.准备 创建经典的tb_emp表. DROP TABLE IF EXISTS `tb_emp`; CREATE TABLE `tb_emp` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, `age` ) NOT NULL, ) NOT NULL, email varchar(20), PRIMARY KEY (`id`) ) ENGINE=InnoDB DE…
前言:explain(执行计划),使用explain关键字可以模拟优化器执行sql查询语句,从而知道MySQL是如何处理sql语句.explain主要用于分析查询语句或表结构的性能瓶颈. 注:本系列随笔如无特殊说明都MySQL版本都为5.7.22. 1.explain的作用 通过explain+sql语句可以知道如下内容: ①表的读取顺序.(对应id) ②数据读取操作的操作类型.(对应select_type) ③哪些索引可以使用.(对应possible_keys) ④哪些索引被实际使用.(对应k…