13.1 系统变量 -- 服务器配置变量 MySQL通过SHOW VARIABLES  SQL命令显示许多系统变量. 13.2 状态变量--SHOW STATUS SHOW STATUS 命令会在一个由两列(名称/值)组成的表格里显示服务器状态变量.这些变量都是只读的. SHOW STATUS默认显示会话变量,SHOW GLOBAL STATUS显示全局变量. 也可以从INFORMATION_SCHEMA.GLOBAL_STATUS和INFORMATION_SCHEMA.SESSION_STAT…
本章将付息与MySQL性能有关的某些要点. 30.1 改善性能 数据库管理员把他们生命中的相当一部分时间花在了调整.试验以改善DBMS性能之上.在诊断英勇的滞缓现象和性能问题时,性能不良的数据库(以及数据库查询)通常是最常见的祸因. 可以看出,下面的内容并不能完全决定MySQL的性能.我们只是想回顾一下前面各章的重点,提供进行性能优化探讨和分析的一个出发点. 首先,MySQL(与所有DBMS一样),具有特定的硬件建议.在学习和研究MySQL时,使用任何旧的计算机作为服务器都可以.但对用于生产的服…
Mysql三剑客系列书籍: 大佬推荐 首先推荐<高性能 MySQL>,这本书是 MySQL 领域的经典之作,拥有广泛的影响力.不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习.不管是数据库新手还是专家,都能从本书中有所收获. 其次如果你对 MySQL 的内部原理有兴趣的话,可以看一下这本书<MySQL 技术内幕:InnoDB 存储引擎>.当然,还有官网的MySQL Internals Manual . 另外个人认为数据库的索引设计和优化也是非常关键的,所以推荐另一本书&l…
    1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://pan.baidu.com/s/1qYE01BI 密码: qz9s 2.安装mysql和Navicat Navicat for mysql,下载下来的本身就是个app,不用再次安装,直接拖拽到应用程序即可 安装mysql,按照安装步骤安装即可,安装时会出现如下弹框,一定要记住,5.7之后的版本默认有个…
1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://pan.baidu.com/s/1qYE01BI 密码: qz9s 2.安装mysql和Navicat Navicat for mysql,下载下来的本身就是个app,不用再次安装,直接拖拽到应用程序即可 安装mysql,按照安装步骤安装即可,安装时会出现如下弹框,一定要记住,5.7之后的版本默认有个临时的密…
 1.设置更改root密码 查看mysql 启动与否,若没启动就运行:/usr/local/mysql56/bin/mysqlps aux |grep mysql  或 netstat -tulnp |grep 3306运行mysql 命令,会出现: -bash: mysql: command not found就把mysql 添加到环境变量:临时添加:PAHT=$PATH:/usr/local/mysql56/bin永久添加:echo "export PATH=$PATH:/usr/local…
附录A MySQL入门 如果你是MySQL的初学者,本附录是一些需要的基础知识. A.1 你需要什么 为使用MySQL和学习本书中各章的内容,你需要访问MySQL服务器和客户机应用(用来访问服务器的软件)副本. 你不一定需要自己安装MySQL副本,但需要访问服务器.基本上有下面两种选择. 访问一个已有的MySQL服务器,或许是你的公司或许是上用的或院校的服务器.为使用这个服务器,你需要得到一个服务器账号(一个登录名和一个口令). 下载MySQL服务器的一个免费副本,安装在你自己的计算机上(MyS…
数据库:数据库是一种以某种有组织的方式存储的数据集合.其本质就是一个容器,通常是一个或者一组文件. 表:表示一种结构化的文件,可用来存储某种特定类型的数据. 模式:描述数据库中特定的表以及整个数据库和其中表的关系.表具有一些特性,这些特性定义了数据在表中如何存储,可以存储什么样的数据,数据如何分解,各个部分信息如何命名等信息. 列:表中的一个字段,所有表都是有一个或多个列组成的. 行:行是表中的一个独立的记录,它包含了所有列的信息. 数据类型:数据类型限制可以存储在类型红的数据种类,还可以帮助正…
简介 此笔记只包含<MySQL必知必会>中部分章节的整理笔记.这部分章节主要是一些在<SQL必知必会>中并未讲解的独属于 MySQL 数据库的一些特性,如正则表达式.全文本搜索.MySQL 中的数据类型等. 此笔记可以看作是对<MySQL必知必会>中包含而<SQL必知必会>中不包含的内容的一个补充. 目录 此笔记的所有内容都在下面的链接中: 文档:<MySQL必知必会>…
一.mysql导出数据库和表 1.导出单个数据库 mysqldump [-h Host] -u Username -p [PASSWORD] db_name > db_name.sql 2.导出数据库的单个表 mysqldump [-h Host] -u Username -p [PASSWORD] db_name table_name > table_name.sql 3.仅导出数据库结构,不导出数据 mysqldump [-h Host] -u Username -p [PASSWORD]…
2017-07-25 14:15:43 前言:MYSQL从5.0和5.1版本开始引入了很多高级特性,例如分区.触发器等,这对有其他关系型数据库使用 背景的用户来说可能并不陌生.这些新特性吸引了很多用户开始使用MYSQL.不过,这些特性的性能到底如何, 还需要用户真正使用过才能知道. 1.1分区表 对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成.实现分区的代码实际上是对一组 底层表的句柄对象(Handler Object)的封装. 对分区表的请求,都会通过句柄对象转化成对存储引擎…
第1章 了解SQL 本章将介绍数据库和SQL,它们是学习MySQL的先决条件. 1.1 数据库基础 你正在阅读本书,这表明你需要以某种方式与数据库打交道.在深入学习MySQL及其SQL语言的实现之前,应该对数据库几数据库技术的某些基本概念有所了解. 你可能还没有意识到,其实你自己一直在使用数据库.每当你从自己的电子邮件地址簿里查找名字时,你就在使用数据库.如果你在某个因特网搜索站点上进行搜索,也是在使用数据库.如果你在工作中登录网络,也需要依靠数据库验证自己的名字和密码.即使在自动取款机上使用A…
Btree: 1. 尽量使用覆盖索引, 即三星索引 2. 多列索引如果带范围的话, 后续列不会作为筛选条件 3. 多列索引应选择过滤性更好的充当前缀索引 4. 尽量按主键顺序插入, 减少页分裂, 采用自增ID在高并发情况下, 可能造成明显征用, 或者更改innodb_autoinc_lock_mode配置.   Hash: 1.只有精确匹配所有列的查询才有效, 对于每行数据, 引擎都会对所有索引列计算hash码 2. 只有memory才可以支持hash索引, innodb支持自适应hash索引,…
参考 高性能javascript javascript高级程序设计 ajax基础  ajax技术的核心是XMLHttpRequest对象(XHR),通过XHR我们就可以实现无需刷新页面就能从服务器端读取数据 var xhr = new XMLHttpRequest(); //只支持IE7以及更高的版本 xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if( (xhr.status >= 200 && xh…
这篇笔记的内容主要涉及js的脚本位置,如何加载js脚本和脚本文件执行的问题,按照自己的理解结合高性能JavaScript整理出来的 javascript是解释性代码,解释性代码需要经历转化成计算机指令的过程,这个过程就会带来一定的性能损耗,所以在js中做性能的优化是必须的 javascript的阻塞特性:浏览器在执行js代码的时候,不能做其他的任何事情,因为浏览器使用单一的进程来处理用户界面的刷新和javascript的脚本执行,也就是说什么时候执行js脚本影响着用户对页面的使用体验(之所以js…
#选择数据库 USE mysql #返回可用数据库列表 SHOW DATABASES #返回当前数据库中可用表 SHOW TABLES #返回表列 SHOW COLUMNS FROM db #显示特定数据库的创建语句 SHOW CREATE DATABASE mysql #显示广泛的服务器状态信息 SHOW STATUS #显示授权用户的安全权限 SHOW GRANTS 多条SQL语句必须以分号分隔. SQL语句不区分大小写,习惯性大写. 检索不同的行用DISTINCT,只返回不同的值. 限制结…
1.基础架构:一条sql查询语句是如何执行的? mysql> select * from T where ID=10: 2.基础架构:一条sql更新语句是如何执行的? mysql> update T set c=c+1 where ID=2; redo log (1)存储引擎的日志,InnoDB特有的: (2)物理日志 (3)循环写,空间固定会用完: binlog (1)server端日志,所有引擎都有: (2)逻辑日志 (3)追加写,文件写到一定大小,切换下一个,并不会覆盖之前的日志: re…
参考高性能javascript 理解浏览器UI线程  用于执行javascript和更新用户界面的进程通常被称为浏览器UI线程  UI线程的工作机制可以理解为一个简单的队列系统,队列中的任务按顺序执行 <button onclick="handleClick()">click</button> <script type="text/javascript"> function handleClick() { var div = do…
参考 高性能javascript 文档对象模型(DOM)是独立于语言的,用于操作XML和HTML文档的程序接口API,在浏览器中主要通过DOM提供的API与HTML进行交互,浏览器通常会把DOM和javascript独立实现,这意味着当我们通过javascript操作DOM的时候势必的产生性能上的开销,因此提升页面性能的的思路是尽可能的减少DOM操作或者优化DOM操作 DOM的访问与修改 (1)减少频繁的读取DOM元素 (1)for(var i = 0;i < 10;i++) { documen…
参考 高性能javascript Tom大叔深入理解javascript系列 相关概念 1.执行上下文   当控制器转到ecmascript可执行代码的时候,就会进入一个执行上下文,执行上下文是以堆栈的方式进行管理的,也就是最底层是全局的上下文,最顶层是当前的执行上下文,每当进入function(包括递归调用)或者eval,都会产生执行上下文压入堆栈,随着函数或者eval的结束,对应的执行上下文被弹出.每当遇到return语句的时候就会推出当前的执行上下文,代码执行完毕后,管理执行上下文的堆栈只…
读 第四章<管理MySQL库与表> 第五章<MySQL的权限管理> 总结 1:当配置好 MySQL 数据库后,发现有几个默认的库,他们的意义和作用?(这里只做简单了解,之后用到的会分析,现在知道有这么个东西就好) - information_schema 记录数据表/用户/视图等信息. - mysql 用户权限/帮助/日志等信息 - performance_schema MySQL性能指标库 2:数据库是文件么?在哪里放着呢? mysql.conf 配置中定义了数据存放位置 dat…
1.日期中的重叠问题建表sessions: CREATE TABLE `sessions` ( `id` ) NOT NULL AUTO_INCREMENT, `app` ) NOT NULL, `usr` ) NOT NULL, `starttime` time NOT NULL, `endtime` time NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB 插入记录: insert into sessions(app,usr,starttime,en…
附录B 样例表 本附录简要描述本书中所用的表及它们的用途. 编写SQL语句需要对基础数据库的设计有良好的理解.不知道什么信息存储在什么表中,表之间如何关联以及行内数据如何分解,是不可能编写出高效的SQL的. 建议你实际试验本书中没涨的每个例子.各章都使用相同的一组数据文件.为帮助你了解这些例子和掌握各章介绍的内容,本附录描述了所用的表.表之间的关系以及如何获得它们. B.1 样例表 本书中使用的样例表为一个想象的随身物品推销商使用的订单录入系统,这些随身物品可能是你喜欢的卡通人物需要的(是的,卡…
前言 MySQL已经成为世界上最受欢迎的数据库管理系统之一.无论是用在小型开发项目上,还是用来构建那些声名显赫的网站,MySQL都证明了自己是个稳定.可靠.快速.可信的系统,足以胜任任何数据存储业务的需要. 本书基于我的一本畅销书 Sams Teach Yourself SQL in 10 Minutes (中文版<SQL必知必会>,人民邮电出版社),那本书堪称全世界用的最多的一本SQL教程,重点讲解读者必须知道的东西,条理清晰,系统而扼要.但是,即使是那样一本广为使用的成功的书,也还是存在着…
一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志,自动通知好友,其实就是在增加日志的时候做一个出发,再向表中写入条目. --触发器的效率很高 举例:论坛的发帖,每插入一个帖子都希望将版面表中的最后发帖时间,帖子总数字段进行同步更新,这时使用触发器效率会很高. 二.Oracle 使用 PL/SQL 编写触发器 1.--PL/SQL创建触发器的一般语法…
1.创建表时指定AUTO_INCREMENT自增值的初始值(即起始值): CREATE TABLE XXX (ID INT(5) PRIMARY KEY AUTO_INCREMENT) AUTO_INCREMENT=100; 2.通过 ALTER TABLE 修改初始值(但是要大于表中的 AUTO_INCREMENT 自增值,否则设置无效): ALTER TABLE XXX AUTO_INCREMENT=100; 3.如果自增序列的最大值被删除了,则在插入新记录时,该值被重用: 就是说如果表中原…
参考高性能javascript for in 循环  使用它可以遍历对象的属性名,但是每次的操作都会搜索实例或者原型的属性 导致使用for in 进行遍历会产生更多的开销 书中提到不要使用for in 遍历数组 1 首先for in 会查找原型链上的属性 var arr = [1,2,3]; Array.prototype.a = "test"; for(var i in arr) { console.log(i); console.log(typeof i); }//在这里例子中会发…
概述及使用场景 Vuex 是一个主要应用在中大型单页应用的类似于 Flux 的数据管理架构.它主要帮我们更好地组织代码,以及把应用内的的状态保持在可维护.可理解的状态. 但如果是简单的应用 ,就没有必要使用vuex来管理状态了, 只会增加应用的复杂性 ,一个简单的应用完全可以使用$emit这种方式就可以来解决https://cn.vuejs.org/v2/guide/components.html#非父子组件的通信. 比如 ,通过父组件传值给子组件,子组件处理完数据, 如果需要对该属性值进行变更…
第1章 前言:不同的时代,不同的Web --微信小程序商城构建全栈应用 http://note.youdao.com/noteshare?id=a0e9b058853dbccf886c1a890594b477&sub=256A6EAA1883405DACF761F65C44BD04 第2章 环境.工具与准备工作 http://note.youdao.com/noteshare?id=623d37653b42bbcd0459011d4ae95e39&sub=89E3DCE9FE4149E7B…
数据过滤 SQL的数据过滤, 可以减少不必要的数据行, 从而可以达到提升查询效率的效果. 比较运算符 在SQL中, 使用WHERE子句对条件进行筛选, 筛选的时候比较运算符是很重要. 上面的比较运算符, 并不是说每个DBMS都支持, 这里主要说MySQL, 不支持(!>)和(!<)等. WHERE子句的基本格式是: SELECT .....(列名) FROM ......(表名) WHERE ......(子句条件) 举几个例子: SELECT name, hp_max FROM heros…