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

查询数据表所使用的存储引擎:
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. 增强的for循环(或foreach)

    增强的for循环(也称为foreach循环):不用下标变量,顺序的訪问整个数组.不能以其它顺序訪问数组,或者改变数组的元素. for(elementType element: arrayRefVar) ...

  2. PHP高效获取远程图片尺寸和大小(转)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  3. 设计模式之Composite模式(笔记)

    组合模式:将对象组合成树形结构以表示"部分-总体"的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 适用场合:当需求中是体现部分与总体层次的结构时,以及希望用户 ...

  4. 手工配置tomcat 解决一闪而过~

    双击tomcat 目录下的bin目录下的startup.bat 如果看到Server startup in **** ms 显示在屏幕上证明你的配置都成功了 如果一闪而过,说明出错了.请在dos进入上 ...

  5. A+B Problem III

    描述 求A+B是否与C相等. 输入 T组测试数据. 每组数据中有三个实数A,B,C(-10000.0<=A,B<=10000.0,-20000.0<=C<=20000.0) 数 ...

  6. 通过代码设置button中文字的对齐方式

    // button.titleLabel.textAlignment = NSTextAlignmentLeft; 这句无效 button.contentHorizontalAlignment = U ...

  7. <item name="android:windowNoTitle">true</item> 不起作用。标题栏未被隐藏

    改变style.xml 加入 <item name="android:windowNoTitle">true</item> 按理说可以把标题栏隐藏,但是当s ...

  8. Android 自学之列表选择框Spinner

    列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...

  9. Lucene 搜索功能

    搜索过程 图解: 主要 API: IndexSearcher:    //所有搜索都通过 IndexSearcher 进行,他们将调用该类中重载的 search() 方法 Query:         ...

  10. MSP430常见问题之工作模式和功耗类

    Q1:1,MSP430进入LP 模式后,CPU 停止运行,那么,进入中断执行退出后,由于SR的恢复,导致还处于LP 模式,是否意味着,CPU 在退出中断后立即停止了呢?2,也就是说,进入LP 模式后, ...