MySQL RBAC(基于角色的权限访问控制)数据库设计 大多数项目中,多多少少都会涉及到权限控制,各种编程语言也有相对应的开源代码。但是,在项目复杂的项目中,可能无法满足我们的需求,因此,我们来介绍下完整的RBAC 及其数据库设计。RBAC,即基于角色的权... 12月16日 6,537 发表评论 收藏 阅读全文
解决 ThinkPHP5 中多表多字段查询问题(MySQL 视图应用以及介绍) 在日常开发中,我们经常会遇到如下问题:在前端展示的列表中,往往包含多个表的数据且需要查询多个表的字段,进行筛选分页排序等问题,常见的方法是采用 join 方法或者 ThinkPHP 的关联模型、视图查... 11月04日 MySQL 5,798 发表评论 收藏 阅读全文
MySQL 存储引擎介绍(MyISAM 存储引擎) 在 MySQL 5.1 以及之前的版本,MyISAM 是默认的存储引擎。MyISAM 提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但 MyISAM 不支持事务和行级锁,而且有一个毫无疑... 08月21日 MySQL 3,609 发表评论 收藏 阅读全文
MySQL 并发控制 无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制的问题。以 Unix 系统的 email box 为例,典型的 mbox 文件格式是非常简单的。一个 mbox 邮箱中的所有邮件都串行在... 08月12日 MySQL 2,487 发表评论 收藏 阅读全文
MySQL 事务 事务是一组原子性的 SQL 查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都... 08月07日 MySQL 2,122 发表评论 收藏 阅读全文
MySQL 高性能索引(空间数据索引、全文索引、其他索引) 空间数据索引(R-Tree)MyISAM 表支持空间索引,可以用作地理数据存储。和 B-Treee 索引不同,这类索引无须前缀查询。空间索引会从所有维度来索引数据。查询时,可以有效地使用任意维度来组合... 08月05日 MySQL 3,699 发表评论 收藏 阅读全文
MySQL MySQL 高性能索引(哈希索引) 哈希索引(hash index)基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),哈希码是一个较小的值,并且不同键值的... 08月05日 8,975 发表评论 收藏 阅读全文
MySQL MySQL 树形结构数据库设计 程序设计过程中,我们常常用树形结构来表示某些数据的关联关系,如企业的部门上下级、电商平台的商品分类等等,通常而言,我们需要通过数据库来完成数据的持久化。由于关系型数据库没有一个很好的树形结构解决方案,... 07月31日 9,348 发表评论 收藏 阅读全文
MySQL 高性能索引(B-Tree 索引) 索引有很多类型,可以为不同的场景提供更好的性能。在 MySQL 中,索引是存储在引擎层而不是服务器层实现的。所以,并没有统一的索引标准:不同存储引擎的索引的工作方式并不一样,也不是所有的存储引擎都支持... 07月29日 MySQL 2,018 发表评论 收藏 阅读全文
MySQL 高性能的索引 索引(在 MySQL 中也叫做“键( key )”)是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。索引基础在 MySQ... 07月29日 MySQL 1,618 发表评论 收藏 阅读全文