mysql
文章平均质量分 78
frankaqi
这个作者很懒,什么都没留下…
展开
-
MySQL中char、varchar和text的区别
他们的存储方式和数据的检索方式都不一样。数据的检索效率是:char>varchar>text空间占用方面,要具体情况具体分析了。CHAR(M)M个字节,0 MVARCHAR(M)L+1个字节,其中LM且0 MTEXTL+2个字节,其中L16Char为定长,varchar,text为变长Char在保存的时候,后面(右边)转载 2014-05-08 16:28:16 · 525 阅读 · 0 评论 -
Innodb 表和索引结构
表的结构: 对于MySQL把有的存储引擎都是把表结构的定义存放到.frm文件中。但对于Innodb表同时有一个内部的字典存放到表空间中。所以对于Innodb表不能单纯的移动.frm在不同的MySQL事例下。对于Innodb引擎的表,如果MySQL 删除相应的表或数据库,同时会删除相应的.frm及在表空间的相应的字典信息。在.frm文件只是用来定义表的结构,Innodb把数据和索引都存放到转载 2014-06-10 16:26:41 · 872 阅读 · 0 评论 -
mysql数据类型和长度
MySQL数据库中常用字段类型:整数型:TINYINT,SMALLINT,INT,BIGINT小数型:FLOAT,DOUBLE,DECIMAL(M,D)字符型:CHAR,VARCHAR日期型:DATETIME ,DATE,TIMESTAMP备注型:TINYTEXT ,TEXT ,LONGTEXT 有些整数类型以及他们最多所能拥有的数字位我们必须有所了解:转载 2014-06-13 16:37:28 · 611 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where转载 2015-11-04 22:19:04 · 289 阅读 · 0 评论 -
视图的定义
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。 视图是存储在数转载 2015-11-05 22:26:25 · 1332 阅读 · 0 评论 -
sql在线练习网站(http://sqlzoo.cn)答案解析
一:SELECT(http://www.sqlzoo.cn/1.htm) 1a. 查看关于bbc表的详细说明 SELECT name, region, population FROM bbc 2a. 给出人口不小于2亿的国家的名称.(2亿是200000000,有8个0) SELECT name FROM bbc WHERE populati转载 2015-10-21 17:08:26 · 14869 阅读 · 2 评论 -
SQL查询语句精华文章
一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、 以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 SELECT nickname , email FROM testtable WHERE name ='张三'(一) 选择列表转载 2015-10-21 17:13:24 · 329 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where转载 2015-10-22 15:39:03 · 262 阅读 · 0 评论 -
SQL语句练习
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001')转载 2015-10-23 12:00:28 · 315 阅读 · 0 评论 -
mysql的查询、子查询及连接查询
一、mysql查询的五种子句 where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数) 1、where常用运算符: 比较运算符 > , ),>= , in(v1,v2..vn)转载 2015-10-25 21:23:50 · 272 阅读 · 0 评论 -
SqlServer索引及优化详解
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查转载 2015-10-25 23:52:40 · 448 阅读 · 0 评论 -
数据库性能优化之SQL语句优化
一、问题的提出在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百转载 2016-02-16 09:43:33 · 423 阅读 · 0 评论 -
mysql创建用户的三种方法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2016-05-04 23:17:18 · 453 阅读 · 0 评论 -
MySQL 中group by的实现
有同学问到MySQL数据库group by是如何实现,发现可能存在误解,简单说明一下。示例CREATE TABLE `tb` (`c` int(11) DEFAULT NULL,`d` int(4) DEFAULT NULL,`e` varchar(1000) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;转载 2014-06-10 16:37:58 · 1144 阅读 · 0 评论 -
由浅入深探究mysql索引结构原理、性能分析与优化
摘要:第一部分:基础知识第二部分:MYISAM和INNODB索引结构1、简单介绍B-tree B+ tree树2、MyisAM索引结构3、Annode索引结构4、MyisAM索引与InnoDB索引相比较第三部分:MYSQL优化1、表数据类型选择2、sql语句优化(1) 最左前缀原则(1.1) 能正确的利用索引(1.2) 不转载 2014-06-10 17:25:56 · 392 阅读 · 0 评论 -
理解MySQL——索引与优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),转载 2014-06-26 11:54:14 · 285 阅读 · 0 评论 -
MySQL与Oracle 差异比较之一数据类型
数据类型编号ORACLEMYSQL注释1NUMBERint / DECIMALDECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型;MYSQL有很多类int型,tinyint mediumint bigint等,不同的int宽度不一样2Varchar2(n)varchar(n)转载 2014-05-13 15:36:46 · 722 阅读 · 0 评论 -
MySQL与Oracle 差异比较之三函数
函数编号类别ORACLEMYSQL注释1数字函数round(1.23456,4)round(1.23456,4)一样:ORACLE:select round(1.23456,4) value from dualMYSQL:select round(1.23456,4) value2abs(-1)abs(-1转载 2014-05-13 15:44:46 · 1285 阅读 · 0 评论 -
MySQL与Oracle 差异比较之六触发器
触发器编号类别ORACLEMYSQL注释1创建触发器语句不同create or replace trigger TG_ES_FAC_UNIT before insert or update or delete on ES_FAC_UNIT for each rowcreate trigger `hs_esbs`.`TG_I转载 2014-05-13 15:47:55 · 907 阅读 · 0 评论 -
MySQL与Oracle 差异比较之八其它
其它编号类别ORACLEMYSQL注释1内连接的更改1、select a.*, b.*, c.*, d.* from a, b, c, d where a.id = b.id and a.name is not null and a.id = c.id(+) and a.id = d.id(+)"转载 2014-05-13 15:54:57 · 504 阅读 · 0 评论 -
MySQL与Oracle 差异比较之二基本语法
基本语法编号类别ORACLEMYSQL注释1变量的声明方式不同li_index NUMBER := 0DECLARE li_index INTEGER DEFAULT 01. mysql 使用DECLARE定义局部变量. 定义变量语法为: DECLARE var_name[,...] type [DEFAULT value转载 2014-05-13 15:41:31 · 951 阅读 · 0 评论 -
MySQL与Oracle 差异比较之七用户权限
用户权限编号类别ORACLEMYSQL注释1创建用户Create user user_name identified by user_passworddefault tablespace starSpace temporary tablespace temp;CREATE USER user_name IDENTIFIED B转载 2014-05-13 15:53:53 · 841 阅读 · 0 评论 -
MySQL与Oracle 差异比较之五存储过程&Function
存储过程&Function编号类别ORACLEMYSQL注释1创建存储过程语句不同create or replace procedure P_ADD_FAC( id_fac_cd IN ES_FAC_UNIT.FAC_CD%TYPE)isDROP PROCEDURE IF EXISTS `SD_USER_P_ADD_US转载 2014-05-13 15:47:05 · 1041 阅读 · 0 评论 -
mysql int(3)与int(11)的区别
总结,int(M)zerofill,加上zerofill后M才表现出有点点效果,比如int(3)zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明.mysql> createta转载 2014-05-13 14:47:23 · 1013 阅读 · 0 评论 -
MySQL与Oracle 差异比较之四条件循环语句
循环语句编号类别ORACLEMYSQL注释1IF语句使用不同IF iv_weekly_day = 'MON'THEN ii_weekly_day := 'MON';ELSIF iv_weekly_day = 'TUE'THEN ii_weekly_day := 'TUE';END IF;IF转载 2014-05-13 15:45:54 · 926 阅读 · 0 评论 -
MySQL查询对NULL的处理
有一个字段blist,如果查询where blist 回答:Null 值不能使用普通的算术运算符来比较,对这些它什么都不返回。只能靠你自己的逻辑流程,在查询语句中再添加where blist在SQL中,NULL值在于任何其他值甚至NULL值比较时总是假的(FALSE)。包含NULL的一个表达式总是产生一个NULL值,除非在包含在表达式中的运算符和函数的文档中指出。在下列例子,所有的列返回转载 2014-06-26 11:16:43 · 911 阅读 · 0 评论 -
理解MySQL——复制(Replication)
1、复制概述1.1、复制解决的问题数据复制技术有以下一些特点:(1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(high availability)和容错1.2、复制如何工作从高层来看,复制分成三步:(1) master将改变记录到二进制日志(binary log)中(这些记录叫做转载 2014-06-26 11:58:53 · 314 阅读 · 0 评论 -
MySQL性能优化的21个最佳实践 和 mysql使用索引
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。转载 2016-05-04 23:32:09 · 323 阅读 · 0 评论