美文网首页
mysql数据库基础

mysql数据库基础

作者: Sharise_Mo佩珊 | 来源:发表于2018-11-19 18:42 被阅读0次

    索引

    索引-基数.png

    什么是索引

    • 快速寻找那些具有特定值的记录,所有mysql索引都以B-树的形式保存。
    • 如果没有索引,执行查询时mysql必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里的记录越多,这个操作的代价就越高
    • 如果作为搜索条件的列上已经创建了索引,mysql无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍

    创建unique索引的目的:避免数据出现重复

    唯一索引可以有多个但索引列的值必须唯一,索引列的值允许有空值。
    如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引时就应该使用关键字unique

    索引基数:数据中所包含的不同值的数量。

    eg:[1,2,3,4,5,1],则他的基数是5
    (索引的基数/数据表行数)越大,工作效率越好
    如果值出现的几率几乎相等【性别】,无论搜索哪个值都可能得到一半的数据行,那么索引的用处就不大。在这种情况最好根本不要用索引,因为查询优化器发现某个值出现在表的数据行中的百分比很高时,它一般会忽略索引直接进行全表扫描,惯用的百分比界线是30%

    redis

    redis:REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
    它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
    Redis 与其他 key - value 缓存产品有以下三个特点:
    Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    Redis支持数据的备份,即master-slave模式的数据备份。


    redis安装.png
    启动redis: redis-server.exe redis.windows.conf
    Redis::hset($key, 'id', $id);  // 如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。
    Redis::hgetall('id');  //以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。
    Redis::hget('id');   // 返回哈希表 key 中给定域 field 的值
    

    相关文章

      网友评论

          本文标题:mysql数据库基础

          本文链接:https://www.haomeiwen.com/subject/hisafqtx.html