MYSQL
zh521zh
这个作者很懒,什么都没留下…
展开
-
MySql直接备份数据库文件的方法(MyISAM和InnoDB有所不同)
MySql直接备份数据库文件的方法(MyISAM和InnoDB有所不同)MySql直接备份数据库文件的方法(MyISAM和InnoDB有所不同) mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原转载 2017-08-15 19:06:44 · 1175 阅读 · 0 评论 -
B tree、B-tree和B+tree
(1)B tree 即二叉搜索树:1.所有非叶子结点至多拥有两个儿子(Left和Right);2.所有结点存储一个关键字;3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就转载 2017-08-29 16:07:24 · 2790 阅读 · 2 评论 -
MySQL BTree索引和hash索引的区别
MySQL BTree索引和hash索引的区别备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法:[sql] view plain copyCREATE TABLE t( aid int unsigned not null auto_increment转载 2017-08-29 15:22:28 · 453 阅读 · 0 评论 -
数据库分片(Sharding)技术
假如您有一个应用程序,随着业务越来越有起色,系统所牵涉到的数据量也就越来越大,此时您要涉及到对系统进行伸缩(Scale)的问题了。一种典型的扩展方法叫做“向上伸缩(Scale Up)”,它的意思是通过使用更好的硬件来提高系统的性能参数。而另一种方法则叫做“向外伸缩(Scale Out)”,它是指通过增加额外的硬件(如服务器)来达到相同的效果。从“硬件成本”还是“系统极限”的角度来说,“向外伸缩”一转载 2016-07-01 13:58:44 · 7444 阅读 · 0 评论 -
深入理解乐观锁与悲观锁
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、转载 2017-09-11 10:13:59 · 231 阅读 · 0 评论 -
char(10)和VARCHAR(10)主要的区别是什么?
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同义词。工业标准的V转载 2017-11-08 11:15:04 · 1527 阅读 · 0 评论 -
mysql 数据类型 (最大值 和 最小值)
1、整型MySQL数据类型含义(有符号)tinyint(m)1个字节 范围(-128~127)smallint(m)2个字节 范围(-32768~32767)mediumint(m)3个字节 范围(-8388608~8388607)int(m)4个字节 范围(-2147483648~21474836原创 2016-04-19 14:40:08 · 22216 阅读 · 0 评论 -
浅谈mysql中varchar(m)与char(n)的区别与联系
对这varchar和char这两个数据类型最简单区分是:varchar存放变长字符串,char存放定长字符串。那么他们是否还有其他差别呢?本文将从浅显的层次以抛出问题解决问题的形式对两者的区分进一步了解。首先我们确认一下mysql版本。本文中的所有知识点都基于mysql5.0+,本文中的例子基于mysql5.6。那么,接下来开始抛出我的问题。转载 2017-09-11 10:21:04 · 516 阅读 · 0 评论 -
Mysql 分表,分区,分库/分片(sharding)
分表和分区的区别:一,什么是mysql 分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上;二,mysql分表和分区有什么区别呢 1,实现方式上 a),mysql的分表是真正的分表,一张表分成很转载 2017-07-14 16:17:23 · 1776 阅读 · 0 评论 -
MySQL - 查看慢SQL
MySQL - 查看慢SQL查看MySQL是否启用了查看慢SQL的日志文件(1) 查看慢SQL日志是否启用mysql> show variables like 'log_slow_queries'; +------------------+-------+| Variable_name | Value |+------------------+------转载 2017-07-13 16:55:54 · 561 阅读 · 0 评论 -
mysql profile功能
mysql profile功能 mysql的sql语句优化都使用explain,但是这个没有办法知道详细的Memory/CPU等使用量MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用量, 执行过程 System lock, Table lock 花多少时间等等. mysql> show转载 2017-07-13 16:21:11 · 461 阅读 · 0 评论 -
mysql 游标循环
代码如下复制代码DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-转载 2016-08-04 15:32:47 · 689 阅读 · 0 评论 -
mysql存储过程 loop循环
-- loop 与 leave,iterate 实现循环 -- loop 标志位无条件循环, leave 类似于break 语句,跳出循环,跳出 begin end, iterate 类似于continue ,结束本次循环create procedure pro12() begin declare b int; declar原创 2016-08-04 15:56:07 · 19137 阅读 · 0 评论 -
mysql 存储过程 REPEAT ... UNTIL ... END REPEAT
begin declare b int; declare use_no varchar(10); declare use_name varchar(400); declare card_id varchar(400); declare count int; declare cur_1 cursor for原创 2016-08-04 14:54:14 · 9211 阅读 · 0 评论 -
mysql 存储过程 LOOP 及 LEAVE、ITERATE
LOOP 及 LEAVE、ITERATE这里LOOP用来标记循环;而LEAVE表示离开循环,好比编程里面的break一样;ITERATE则继续循环,好比编程里面的continue一样。原创 2016-09-09 15:41:12 · 11258 阅读 · 1 评论 -
MYSQL 循环嵌套(自定义函数,游标)
CREATE FUNCTION in_attr_prod(goodsid INT) RETURNS VARCHAR(32)BEGIN DECLARE attr1,attr2 INT DEFAULT 0; #商品属性ID DECLARE a1_id,a2_id INT DEFAULT 0; #商品属性值ID DECLARE productid INT D转载 2016-09-09 15:23:45 · 9184 阅读 · 1 评论 -
float double decimal
(1)insert into ceshi(value1,value2,value3) values (0,0,0);(2)insert into ceshi(value1,value2,value3) values (0.01,0.01,0.01);(3)insert into ceshi(value1,value2,value3) values (0.001,0.001,0.001);原创 2016-08-02 15:09:53 · 281 阅读 · 0 评论 -
MySQL数据类型 int(M) 表示什么意思?
MySQL数据类型 int(M) 表示什么意思?MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4) 占用的存储空间比 int(8) 小。 后来,参看 MySQL 手册,发现自己转载 2016-01-29 10:46:07 · 1133 阅读 · 0 评论 -
数据库优化-水平拆分 垂直拆分
通过某种特定的条件,将存放在同一个数据库中的数据分散存放到多个数据库上,实现分布存储,通过路由规则路由访问特定的数据库,这样一来每次访问面对的就不是单台服务器了,而是N台服务器,这样就可以降低单台机器的负载压力。提示:sqlserver 2005版本之后,可以友好的支持“表分区”。 垂直(纵向)拆分:是指按功能模块拆分,比如分为订单库、商品库、用户库...这种方式多个数据库之转载 2016-11-28 09:44:58 · 256 阅读 · 0 评论 -
mysql清空表delete和truncate命令介绍
mysql清空表delete和truncate命令介绍 清空mysql表中的记录有以下两种方法:delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容;使用truncate table也可以清空mysql表中所有内容;但是使用delet转载 2016-04-01 16:57:30 · 10334 阅读 · 0 评论 -
MySQL explain执行计划优化
MySQL explain执行计划优化 简介MySQL调优:先发现问题(慢查询,explain, profile)对于使用索引和没有使用索引,了解到索引可以快速去查找数据了解什么是索引(索引是排好序的快速查找的数据结构)索引的管理(查看,创建,删除)索引的本身的数据结构(B-TREE结构和聚簇结构)MySQL是如何去使用这些索引的(转载 2017-07-13 15:47:48 · 579 阅读 · 0 评论