技术饭 MySQL主键和外键使用及说明

MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。

阅读全文 » 754天前
2018年10月03日

技术饭 EXPLAIN分析sql时,如何优化Using temporary ; Using filesort

EXPLAIN分析sql时,如何优化Using temporary ; Using filesort,1. 对需要查询和排序的字段要加索引。​2. 在一定环境下,left join还是比普通连接查询效率要高,但是要尽量少地连接表,并且在做连接查询时注意观察索引是否起了作用。3. 排序尽量对第一个表的索引字段进行,可以避免mysql创建临时表,这是非常耗资源的。

阅读全文 » 1140天前
2017年09月12日

技术饭 mysql性能分析及explain的用法

mysql性能分析及explain的用法,本文我们主要介绍了MySQL性能分析以及explain的使用,包括:组合索引、慢查询分析、MYISAM和INNODB的锁定、MYSQL的事务配置项等,用来分析mysql语句的查询性能方面还是有很大的帮助的。

阅读全文 » 1140天前
2017年09月12日

技术饭 php操作redis常用方法代码示例

php操作redis常用方法代码示例,phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

阅读全文 » 1263天前
2017年05月12日

技术饭 为什么要用mysql索引优化数据库

为什么要用mysql索引优化数据库,索引是为了优化查询,减少查询的次数,索引的原理是平行二叉树原理;应该在读取数据量多的时候建立索引,索引一般分为nomarl普通索引、unique唯一索引、full text全文索引;索引的方法有:btree与hash,不过hash不能使用order by排序与like模糊查询。

阅读全文 » 1391天前
2017年01月04日