
mysql
文章平均质量分 73
X梦阳X
本人现学习php开发
展开
-
Mysql之高性能的索引策略
聚簇索引(Clustered Indexes)聚簇索引保证关键字的值相近的元组存储的物理位置也相同(所以字符串类型不宜建立聚簇索引,特别是随机字符串,会使得系统进行大量的移动操作),且一个表只能有一个聚簇索引。因为由存储引擎实现索引,所以,并不是所有的引擎都支持聚簇索引。目前,只有solidDB和InnoDB支持。聚簇索引的结构大致如下: 注:叶子页面包含完整的元组,而内原创 2016-11-02 09:19:43 · 1217 阅读 · 4 评论 -
MySQL函数一览_MySQL函数全部汇总
MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根(4)M原创 2017-01-02 19:09:29 · 470 阅读 · 1 评论 -
MySQL修改数据表存储引擎的3种方法介绍
MySQL作为最常用的数据库,经常遇到各种各样的问题。今天要说的就是表存储引擎的修改。有三种方式,列表如下。1.真接修改。在数据多的时候比较慢,而且在修改时会影响读取性能。my_table是操作的表,innoDB是新的存储引擎。ALTER TABLE my_table ENGINE=InnoDB2.导出,导入。这个比较容易操作,直接把导出来的sql文件给改了,然后再导回去。用mysqldu原创 2016-12-24 11:36:55 · 1125 阅读 · 0 评论 -
如何修改mysql表的存储引擎
修改表引擎方法 alter table table_name engine=innodb;2、查看系统支持的存储引擎 show engines;3、查看表使用的存储引擎 两种方法: a、show table status from db_name where name='table_name'; b、show create table table_name; 如果显示的格式不好原创 2016-12-25 20:58:44 · 3060 阅读 · 0 评论 -
数据库之三范式
第一范式(无重复的列) 定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性 通俗解释:一个字段只存储一项信息 eg:班级:高三年1班,应改为2个字段,一个年级、一个班级,才满足第一范式 不满足第一范式第二范式(属性完全依赖于主键) 定义:满足第一范式前提,当存在多个主键的时候,才会发生不符合第二范原创 2016-10-07 18:51:34 · 340 阅读 · 0 评论 -
Mysql引擎 Innodb和MyISAM的区别
本文是摘抄其他网文整理而成。create database xxx engine=InnodbMySQL数据库分为Innodb和Myisam两类。两者最主要的区别是:Innodb支持事务处理、外键和行级锁.而MyISAM不支持,所以如果CUD比较频繁或要求事务一致性的,使用Innodb比较好,反之使用Myisam比较好。具体区别如下:1、索引:MyISAM的索引和数据是分开的,并且转载 2016-12-28 16:06:38 · 253 阅读 · 0 评论 -
MYSQL分区表测试
一、 mysql分区简介数据库分区数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。MySQL的分区主要有两种形式:水平分区和垂直分区 水平分区(HorizontalPartitioning)这种形式的分区是对根据表的行进行分区,转载 2016-12-30 08:38:20 · 506 阅读 · 0 评论 -
MYSQL分表
一、先说一下为什么要分表:当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql执行一个sql的过程如下:1、接收到sql; 2、把sql放到排队队列中;3、执行sql; 4、返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行原创 2016-10-11 20:01:24 · 492 阅读 · 0 评论 -
sql 注入方式
1.寻找目标目标网站:http://www.chencheng.com/index.php?id=4072.测试目标http://www.chencheng.com/index.php?id=407 and 1=1 返回正常http://www.chencheng.com/index.php?id=407 and 1=2 返回异常http://w原创 2016-10-11 19:16:06 · 284 阅读 · 0 评论 -
Memcached常用命令及使用说明
一、存储命令存储命令的格式:12 参数说明如下:set/add/replace查找关键字客户机使用它存储关于键值对的额外信息该数据的过期时间,0表原创 2017-01-15 18:47:13 · 483 阅读 · 0 评论 -
Mysql之索引入门
对于任何DBMS,索引都是进行优化的最主要的因素。对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降。如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅能对索引最左边的前缀进行有效的查找。例如:假设存在组合索引it1c1c2(c1,c2),查询语句select * from t1 where c1=1 and c2=2能够使用该索引。查询语句s原创 2016-11-02 09:16:01 · 343 阅读 · 0 评论 -
MYSQL主主复制
原理说明 配置步骤1、需要2台搭建完成的mysql。2、两台机器上都建立用户,并赋予复制权限 GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO mysql_backup@'%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE,RELOAD,SUPER ON *原创 2016-10-12 18:33:45 · 241 阅读 · 0 评论 -
MySql分区表
MySql分区表传统的分库分表都是在应用层实现,拆分后都要对原有系统进行很大的调整以适应新拆分后的库或表,比如实现一个SQL中间件、原本的联表查询改成两次查询、实现一个全局主键生成器等等。而下面介绍的MySQL分区表是在数据库层面,MySQL自己实现的分表功能,在很大程度上简化了分表的难度。介绍 对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表实现。也原创 2016-11-09 13:56:33 · 634 阅读 · 0 评论 -
什么是数据库的ACID测试
钻石显然是十分贵重的东西,正因为贵重,所以我们会严肃的区分真品和膺品。确定钻石是真是假的一个简单而(至少在电影里)流行的测试是让它在一片玻璃上滚。因为钻石是众所周知最坚硬的材料,真正的钻石很容易切割玻璃表面;而赝品,尤其是用玻璃本身制作的赝品,则无法做到。 对软件开发人员来说,数据库也有这么贵重。如果使用数据库的话,需要确保它安全存储数据并允许您将来检索数据。您还希望数据库允许多原创 2016-09-08 12:06:40 · 1943 阅读 · 0 评论 -
【mysql】事务死锁问题
花了一天时间,问题终于解决了,超有成就感。 问了一下用过mysql的同事,他分析事务死锁的原因可能是表中数据量太大,update语句的查询条件没有建索引,导致事务需要扫描全表(此时会锁表)。 这个原因倒是跟我的情况很相似,发生死锁的事务里确实有根据普通建更新记录的语句。我查了一下数据量,测试环境200多条,生产机的测试库和生产库都是20万多条,照例20万多条不算多啊原创 2016-09-08 20:05:35 · 736 阅读 · 0 评论 -
MySQL函数全部
前言MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分类并汇总,以便以后用到的时候可以随时查看。数学函数(1)ABS(x)返回x的绝对值(2)PI()返回圆周率π,默认显示6位小数(3)SQRT(x)返回非负数的x的二次方根原创 2016-11-04 09:30:25 · 428 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第原创 2016-11-02 14:10:37 · 323 阅读 · 0 评论 -
Mysql之主从复制原理
MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身。MySQL复制过程分成三步: 1, master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events; 2,slave将master的binary log event原创 2016-11-02 14:15:20 · 255 阅读 · 0 评论 -
MYSQL用户以及权限相关
一, 创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密原创 2016-10-11 19:55:17 · 301 阅读 · 0 评论 -
mysql查询语句练习题跟答案
mysql查询语句练习题Sutdent表的定义字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性别原创 2016-12-17 11:36:44 · 1457 阅读 · 0 评论 -
主从复制的常用拓扑结构
复制的体系结构有以下一些基本原则:(1) 每个slave只能有一个master;(2) 每个slave只能有一个唯一的服务器ID;(3) 每个master可以有很多slave;(4) 如果你设置log_slave_updates,slave可以是其它slave的master,从而扩散master的更新。MySQL不支持多主服务器复制(Multimas原创 2016-11-02 09:22:32 · 792 阅读 · 0 评论 -
MYSQL分区
分区概念 分区是指允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。通俗地讲表分区是将一张大表,根据条件分割成若干个小表。数据库存存储的时候会存在多个文件中。而对于程序或者数据库来说,依旧是一张表,就是将mysql相关的数据文件,分成了多个存储。 【MYSQL 5.1之后支持分区】比如:某用户表的记录超过了1500万条,那么就可以根据入库原创 2016-10-11 19:50:19 · 574 阅读 · 0 评论 -
MySQL的双表多表联查
最近在做EC-Mall的二次开发,遇到这么一个需求,将挂件单独显示成一个页面。由于EC-Mall的挂件是用数据模块+模块类库的方式进行的,就是使用类似smarty的形式。而单独一个页面的话,数据读取需要自己写SQL语句。现在的问题是,需要将商品中的汽车类中的推荐商品数据显示出来,sql如下:1select * from shop_goods as a原创 2016-12-22 09:55:16 · 2146 阅读 · 0 评论 -
TP框架之全选,反选,全不选以及批量删除
TP框架之全选,反选,全不选以及批量删除原创 2016-10-15 09:33:15 · 4036 阅读 · 0 评论 -
什么时候使用mysql事务
突然想到一个问题,mysql中我们经常用到事务,比如一次向几张表插入内容,如果中间出错了可以回滚,但是实际开发中,像这种一次可能向多个数据表写入数据的情况,并没有采用事务。 比如一件商品表单,有商品基本信息,商品sku(颜色尺寸价格库存),商家信息,店铺信息,提交的时候是向不同的表插入或更新数据,并且都是等第一张表插入(或更新)完了,然后第二张表,第三张表。。。如果中间某个原创 2017-01-12 20:41:35 · 9367 阅读 · 0 评论