第一章节:
共享锁(读锁),排他锁(写锁)

查询数据表所使用的存储引擎:
show table status like '表名' \G

转换数据表的存储引擎:
alter table 表名 engine=引擎名称
as:
alter table mytable engine=Innodb;
---------
第三章节
char,varchar兄弟类型: binary,  varbinary,用来保存二进制字符串,但是保存的是字节,而不是字符

blob和text分别以二进制和字符形式保存大量数据
都有各自的数据类型家族:
text: tinytext, smalltext, text,mediumtext, longtext,(text相当于smalltext)
blob:tinyblob, smallblob, blob, mediumblob,longblob(blob相当于smallblob)

mysql不能索引这些 (blob,text...)的完整长度,也不能排序使用索引

enum类型,as:
create table enum_table(
  e enum('yes', 'no') not null,
  ....
);

日期和时间类型
datetime:精度为秒,格式如 YYMMDDHHMMSS,与时区无关,默认时格式如下:
2014-09-18 21:38:08
时间范围为 1001-9999年

timestamp:保持了自 1970-1-1午夜(格林尼治标准时间)以来的秒数,与 unix的时间戳相同,与mysql服务器,操作系统,客户端时区设置有关(推荐用)

有范围的查询,会失去索引的意义, 如
select * from where id>100 order by date asc

正则化(根据范式特征,分表)与非正则化(非范式)

第四章
Mysql
select t1.id from test.t1 inner join test.t2 using(id) where t1.id > 500
==
where t1.id > 500 and t2.id > 500
相当于 using(id)其实就是 两个表都使用了后来的 where 条件,但必须是两个表的字段名称相同,局限于 mysql 数据库

//统计颜色值
select sum(if(color='blue', 1, 0)) as blue,
sum(if(color='red'), 1, 0) as red from 表名
==
select count(color='blue' or null) as blue,count(color='red' or null) as red from 表名

自定义变量,但是只能是数值的
tt(id, name);
as:
SET @id :=1; //表示从1开始
select name, @id := @id+1 as myid from tt limit 3;
则表示 id = 2开始接下来的三条数据

第五章

存储过程和函数(存储在 mysql数据库中的 proc表,所以检查有没有这个表)
存储过程是一种存储程序(如正规语言里的子程序一样),mysql支持有两种:存储过程和在其他SQL语句中可以返回值的[函数](使用起来和 mysql预装载的函数一样,如 pi())
一个存储过程包括名字,参数列表,以及可以包括很多SQL语句的SQL语句集。

准备语句:(执行快,可用于存储引擎,不能用于函数)
insert into tablename(col1,col2) values (?, ?);
as:
set @sql := select * from dbname.tablename where id = ?;
prepare stmt_fetch_sql from @sql;
set @query_id := '1';
execute stmt_fetch_sql using @query_id;
deallocate prepare stmt_fetch_sql; /*释放*/

mysql 高性能的更多相关文章

  1. MySQL高性能优化系列-目录

    MySQL高性能优化系列-目录 (1)Mysql高性能优化规范建议 (2)电商数据库表设计 (3)MySQL分区表使用方法 (4)MySQL执行计划分析 (5)电商场景下的常见业务SQL处理 (6)M ...

  2. MySQL-TokuDB:MySQL 高性能存储引擎:TokuDB

    ylbtech-MySQL-TokuDB:MySQL 高性能存储引擎:TokuDB 1.返回顶部 1. 在安装MariaDB的时候了解到代替InnoDB的TokuDB,看简介非常的棒,这里对ToduD ...

  3. 一条SQL语句执行得很慢的原因有哪些?| MySQL高性能优化规范建议

    一条SQL语句执行得很慢的原因有哪些 https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485185&idx=1&am ...

  4. Linux记录-史上最全的MySQL高性能优化实战总结(转载)

       史上最全的MySQL高性能优化实战总结! 1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优 ...

  5. MySQL 高性能优化规范建议

    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名 ...

  6. mysql高性能索引策略

    转载说明:http://www.nyankosama.com/2014/12/19/high-performance-index/ 1. 引言 随着互联网时代地到来,各种各样的基于互联网的应用和服务进 ...

  7. MySQL高性能优化规范建议,速度收藏

    数据库命令规范 •所有数据库对象名称必须使用小写字母并用下划线分割•所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)•数据库对象的命名要能做到见 ...

  8. MySQL 高性能优化实战总结

    1 前言 2 优化的哲学 3 优化思路 3.1 优化什么 3.2 优化的范围有哪些 3.3 优化维度 4 优化工具有啥? 4.1 数据库层面 4.2 数据库层面问题解决思路 4.3 系统层面 4.4 ...

  9. MySQL高性能优化实战总结!

    1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多 ...

  10. MySQL 高性能表设计规范

    良好的逻辑设计和物理设计是高性能的基石, 应该根据系统将要执行的查询语句来设计schema, 这往往需要权衡各种因素. 一.选择优化的数据类型 MySQL支持的数据类型非常多, 选择正确的数据类型对于 ...

随机推荐

  1. Java连接MYSQL【转载】

    这篇文章主要以MySQL为例讲下Java如何连接到数据库的. 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC ...

  2. JNI/NDK开发指南(四)——字符串处理

    转载请注明出处:http://blog.csdn.net/xyang81/article/details/42066665 从第三章中能够看出JNI中的基本类型和Java中的基本类型都是一一相应的,接 ...

  3. C++文件读写(转载)

    原网页地址:http://blog.csdn.net/kingstar158/article/details/6859379 下文全部转载自以上网页,感谢原作者的贡献. 在看C++编程思想中,每个练习 ...

  4. Android 文件读写的例子

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

  5. Nginx与Tomcat、Client之间请求的长连接配置不一致问题解决[转]

    http://bert82503.iteye.com/blog/2152613 前些天,线上出现“服务端长连接与客户端短连接引起Nginx的Writing.Active连接数过高问题”,这个是由于“服 ...

  6. iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求

    这篇文章会提供一种在 Cocoa 层拦截所有 HTTP 请求的方法,其实标题已经说明了拦截 HTTP 请求需要的了解的就是 NSURLProtocol. 由于文章的内容较长,会分成两部分,这篇文章介绍 ...

  7. mysql数据库常用语句

    关于mysql数据库常用命令的整理: 一:对于数据库的操作 show databases;显示当前用户下所有的数据库名称 use database_name;进入当前数据库 create databa ...

  8. js原生bind()用法[注意不是jquery里面的bind()]

    <div id="a"> <div></div> <div></div> <div></div> ...

  9. AbStract 和Interface 方法是否能用Static修饰,为什么?

    Abstract 和Interface 方法是否能用Static修饰,为什么? interface中不能含有Static方法,属性,成员变量. Abstract中可以有Static方法,属性,成员变量 ...

  10. js定时器window.setTimeout和setInterval

    window.setTimeout(function(){                            document.getElementById("editorindex&q ...