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

查询数据表所使用的存储引擎:
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. C#系列之String和StringBuilder

    前言 首先和博园的各位打声招呼,小弟在博园呆了也有一年多了.平常一有时间就会过来看看文章,学习各位的经验,现在养成了一种一天不来博园,心里就不踏实的习惯,不知道在看我博文的大哥们有没有这个感觉. 读归 ...

  2. 在iOS中怎样创建可展开的Table View?(上)

    原文地址 本文作者:gabriel theodoropoulos 原文:How To Create an Expandable Table View in iOS 原文链接 几乎所有的app都有一个共 ...

  3. [001]const和指针

    很经典的: const int* p: int* const p: 前者表示指针指向的值是const,指向的值不可变,但是指针本身是可变的:后者表示改指针是const,指针不可变,但是指向的值是可变的 ...

  4. linux服务器命令

    清除屏幕数据:ctrl + l  :快速查找某个文件: find / -name 'httpd.conf'   (或php.ini) 重启Apache :   service httpd restar ...

  5. poj 1654 Area 多边形面积

    /* poj 1654 Area 多边形面积 题目意思很简单,但是1000000的point开不了 */ #include<stdio.h> #include<math.h> ...

  6. Android_listView_BaseAdapter_downLoadImg

    layout.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...

  7. [转]让你提升命令行效率的 Bash 快捷键

    生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率. 编辑命令 Ctrl + a :移到命令行首 Ctrl + e :移到命令行尾 Ctrl + f :按字符前移(右向) ...

  8. JS 日期工具类-基于yDate

    源码下载 前言:最近在用到JS日期操作时,发现有一些不方便,于是搜素了一些网上的资料,基于一个开源工具类-yDate 进行了个性化定制,封装成了一个日期工具类工具函数大概介绍:1.普通的日期操作2. ...

  9. Android 百度地图开发之一(Hello BaiDu Map)

    之前也接触过百度地图的开发,但那是在网上找的案例或代码,而且是比较老的版本.打算重新学习一下百度地图的开发. 本次使用的百度地图的版本是 Android SDK v3.0.0 本篇文章主要讲述百度地图 ...

  10. $(document).ready() 、 $('#id').load() 、window.onload 的区别

    今天做项目的时候遇到一个问题,结果死在了$(document).ready(). $('#id').load() .window.onload的区别上.然后,就整理一下,这三者的区别. 参考文章:ht ...