zoukankan      html  css  js  c++  java
  • mysql的视图与索引

    mysql中视图是一张便于查询的虚拟表,不占用内存空间。只是保存了计算需要的sql语句。

    创建视图: 

    Create  view 视图名 as select name,brand from 表格名 where brand in (‘b001’,’b002’);

    使用视图

    当做正常的表格使用就可以。

    修改视图

     Create or replace view new_car AS SELECT NAME,brand FROM 表格名 WHERE brand IN ('b002','b003')

    查看视图

    show tables

    查看视图详细信息

    desc 视图名

    视图删改时,如果由单表查询得到的视图的话,该表格也会被修改。如果有多表查询得到的视图的话,表格都不会被删改。

    若表格发生删改时,视图也会被删改。

    mysql的索引

    mysql的索引的建立对mysql的高效运作很重要,有索引的存在大大提高了mysql的检索速度。缺点,索引过多的话,会提高mysql的维护难度,减低维护效率。

    索引的结构主要有两种:B+tree和hash索引。

    btree索引,例如查询1,2,3,4,5,6,7,8,9这些数据。

     

    hash哈希索引能精确匹配到索引列的值,是按照不同的数据,存储引擎都会给一个相应的哈希码,不同键值的行计算出的哈希码也不相同。

    索引的分类

    普通索引、主键索引、唯一索引、全文索引

    普通索引:仅仅是加快查询速度

    唯一索引:不仅加快查询速度,该列的值不能重复

    主键索引:主键不能重复且不能为空      主键必唯一,但是唯一索引不一定是主键,一张表上只能有一个主键,但是可以有一个或多个唯一索引

    全文索引:fulltext  用于在一篇文章中,检索文本信息的。主要用来优化like语句的,因为like语句会一行一行的查找匹配值,查询效率慢

    查看索引:show index from 表名

    添加索引

    添加主键索引: ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 

    添加唯一索引:ALTER TABLE `table_name` ADD UNIQUE (`column`)

    添加普通索引:ALTER TABLE `table_name` ADD INDEX ( `column` ) 

    添加全文索引:ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 

    删除索引

    删除非主键索引:ALTER TABLE `table_name` drop INDEX ( `column` ) 

    删除主键:ALTER TABLE `table_name` drop PRIMARY KEY

    索引的用法

    主键、唯一、普通索引的使用,是直接where索引列=’值’

    全文索引的使用 where MATCH(列名) AGAINST(‘搜索值1,搜索值2,搜索值3’);

  • 相关阅读:
    yocto添加源码并编译进文件系统
    yocto编译加速及单独编译内核与uboot
    mysql 创建索引
    redis初使用
    mysql修改时区
    linux修改时间
    服务器环境配置安装(mysql+redis+nodejs+nginx)
    由于找不到MSVCP20.dll,无法继续执行代码
    sequelize初使用
    css flex
  • 原文地址:https://www.cnblogs.com/time-to-despair/p/9566193.html
Copyright © 2011-2022 走看看