索引和引擎小结
摘要:一,索引 1,索引作用: (1)加快查询速度 (2)唯一性 (3)文本搜索,MyISAM索引 2,索引缺点: (1)虽然增加查询速度,但是降低增删改的速度,增删改操作时候需要修改索引。 (2)占用磁盘空间。 3,索引分类 : 主键索引primary(id) 唯一索引unique(name) 普通索引
阅读全文
posted @
2017-06-13 17:35
张三的哥哥
阅读(330)
推荐(0)
聚簇索引(clustered index )和非聚簇索引(secondary index)的区别
摘要:这两个名字虽然都叫做索引,但这并不是一种单独的索引类型,而是一种数据存储方式。对于聚簇索引存储来说,行数据和主键B+树存储在一起,辅助键B+树只存储辅助键和主键,主键和非主键B+树几乎是两种类型的树。对于非聚簇索引存储来说,主键B+树在叶子节点存储指向真正数据行的指针,而非主键。 InnoDB使用的
阅读全文
posted @
2017-06-13 15:28
张三的哥哥
阅读(2203)
推荐(2)
mysql查询语句分析 explain/desc用法
摘要:explain或desc显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 explain 数据表 或 desc 数据表 显示数据表各字段含义 explain sql 或desc sql 显示sql执行效率 使用方法,在select语句前加上
阅读全文
posted @
2017-02-26 13:36
张三的哥哥
阅读(7962)
推荐(0)
MySQL索引类型总结和使用技巧以及注意事项
摘要:1,索引优点 索引本质上是表字段的有序子集,其每个记录指向相应的表记录。索引优点: (1)查询优化 (2)唯一性 (3)文本搜索 索引分为:主键索引、唯一索引、常规索引和全文索引; 索引分为单列索引和组合索引,单列索引是指一个索引只包含一列,一个表可以有多个单列索引;组合索引是指一个索引包含多列。
阅读全文
posted @
2017-02-26 13:02
张三的哥哥
阅读(183)
推荐(0)
mysql多列索引
摘要:1,数据库每次查询只能使用一个索引 2,假设数据 表T (a,b,c) rowid 为物理位置rowid a b c(1) 1 1 1(2) 2 1 13(3) 2 2 14(4) 1 3 3(5) 2 3 12(6) 1 2 5(7) 2 3 9(8) 1 2 2(9) 1
阅读全文
posted @
2017-02-25 20:05
张三的哥哥
阅读(254)
推荐(0)
mysql多列索引和最左前缀
摘要:数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度。索引优化是数据库优化的最重要手段。 如果查询语句使用索引(通常是where条件匹配索引)就会利用树的结构加快查找,索引会按值查找到要查找的行在表中位置,
阅读全文
posted @
2017-02-25 19:45
张三的哥哥
阅读(7008)
推荐(0)
php中echo、print、print_r、var_dump、var_export区别
摘要:(1) print和echo是语言结构,echo输出多个值,多个值之间用逗号分隔,无返回值;print只能输出一个值,有返回值。echo和print输出整型和字符串,没法打印布尔型,如果true,打印1,false打印为空。 (2) print_r()除了输出整型和字符串,还可以输出数组和对象,数组
阅读全文
posted @
2016-10-27 21:46
张三的哥哥
阅读(2241)
推荐(0)
include与require的区别
摘要:1, require在程序解释执行前被加载,被加载的内容,在程序解释执行过程中被经常使用;include则是在解释执行过程中,需要使用某些内容使用,include加载;由此可见,某些内容经常使用,可以使用require;如果每次执行代码是读取不同的文件,或者有通过一组文件迭代的循环,就使用inclu
阅读全文
posted @
2016-10-27 20:40
张三的哥哥
阅读(5203)
推荐(0)
如何实现session跨服务器共享
摘要:Session共享有多种解决方法,常用的有四种:客户端Cookie保存、服务器间Session同步、使用集群管理Session、把Session持久化到数据库。 1.客户端Cookie保存 以cookie加密的方式保存在客户端,每次session信息被写在客户端,然后经浏览器再次提交到服务器,即使两
阅读全文
posted @
2016-10-25 00:10
张三的哥哥
阅读(977)
推荐(0)
HTTP/1.0中,状态码200 301 304 403 404 500的含义?
摘要:200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误,服务器遇到一个错误,使其无法为请求提供服务
阅读全文
posted @
2016-10-25 00:02
张三的哥哥
阅读(2915)
推荐(0)
mysql中date,datetime,timestamp数据类型区别
摘要:(1)date表示日期,其范围为1000-01-01到9999-12-31
阅读全文
posted @
2016-10-19 11:55
张三的哥哥
阅读(1920)
推荐(0)
sql语句应考虑哪些安全性?
摘要:(1)少使用root账户,应该为不同的动作分配不同的账户; (2)sql执行出错后,不能把数据库中显示的出错信息,直接展示给用户。防止泄露服务器和数据库相关信息; (3)防止sql注入,对特殊字符进行转义、过滤或者使用预编译的sql语句绑定变量。
阅读全文
posted @
2016-10-19 11:44
张三的哥哥
阅读(2582)
推荐(1)
PHP中操作mysql的函数
摘要:(1)mysql_num_rows(),对应select操作,获取select结果中数据集的行数;(2)mysql_affected_rows(),对应update、delete、insert操作,影响的行数;
阅读全文
posted @
2016-10-19 10:53
张三的哥哥
阅读(149)
推荐(0)
不同编码中字符与字节对应关系
摘要:在UTF8中英文字符占一个字节,中文字符占三个字节; 在GBK中英文字符占一个字节,中文字符占二个字节;
阅读全文
posted @
2016-10-18 20:43
张三的哥哥
阅读(316)
推荐(0)
MySQL数据库中的字段类型varchar和char的主要区别是什么?哪种字段查找效率要高?
摘要:1,varchar与char的区别?(1)区别一,定长和变长,char表示定长,长度固定;varchar表示变长,长度可变。当插入字符串超出长度时,视情况来处理,如果是严格模式,则会拒绝插入并提示错误信息,如果是宽松模式,则会截取然后插入。如果插入的字符串长度小于定义长度时,则会以不同的方式来处理,
阅读全文
posted @
2016-10-18 18:23
张三的哥哥
阅读(872)
推荐(0)
简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?
摘要:(1)尽量选择较小的列; (2)将where中用的比较频繁的字段建立索引; (3)select中避免使用*; (4)避免在索引列上使用计算、not in和<>等操作; (5)当只需要一行数据时候使用limit1; (6)保证单表数据不超过200w,实时分割表; 针对查询较慢的语句,可以使用expla
阅读全文
posted @
2016-10-18 00:12
张三的哥哥
阅读(2362)
推荐(0)
数据库中的事务是什么?
摘要:事务是作为一个单元的一组有序的数据库操作,如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响将取消。ACID四大特性:原子性,隔离性,一致性,持久性。
阅读全文
posted @
2016-10-18 00:07
张三的哥哥
阅读(321)
推荐(0)
简述数据库设计的范式及应用
摘要:一般建表满足前3个范式就足以,用于表结构的优化,这样做既可以避免应用程序过于复杂同时也避免了SQL语句过于庞大所造成的系统效率低下。 第一范式:若关系模式R的每一个属性是不可再分解的,且有主键,则属第一范式; 第二范式:若R属于第一范式,且所有的非主键属性都完全依赖于主键属性,则满足第二范式。 第三
阅读全文
posted @
2016-10-18 00:01
张三的哥哥
阅读(261)
推荐(0)
简述在MySQL数据库中MyISAM和InnoDB的区别
摘要:区别主要有以下几点: (1)构成上,MyISAM的表在磁盘中有三个文件组成,分别是表定义文件(.frm)、数据文件(.MYD)、索引文件(.MYI),而InnoDB的表由表定义文件(.frm)、表空间数据和日志文件组成。 (2)安全方面,MYISAM强调的是性能,其查询查询效率较高,但不支持事务和外
阅读全文
posted @
2016-10-17 23:50
张三的哥哥
阅读(1013)
推荐(0)
sql语句_2
摘要:数据表如下 一个user_id对应多个user_name,现在要求是:如果某个用户对应的user_name中存在一个a,打印user_id,a出来;如果不存在,打印user_id,0。打印时候user_id不重复。 输出结果:
阅读全文
posted @
2016-10-13 09:34
张三的哥哥
阅读(244)
推荐(0)