当前位置: 首页 > news >正文

吉林省住房和城乡建设厅网站申报代写稿子的平台

吉林省住房和城乡建设厅网站申报,代写稿子的平台,html代码是什么,可拖拽式网站建设简介#xff1a;个人学习分享#xff0c;如有错误#xff0c;欢迎批评指正。 一、概述 介绍 索引是通过某种算法#xff0c;构建出一个数据模型#xff0c;用于快速找出在某个列中有一特定值的行#xff0c;不使用索引#xff0c;MySQL必须从第一条记录开始读完整个表个人学习分享如有错误欢迎批评指正。 一、概述 介绍 索引是通过某种算法构建出一个数据模型用于快速找出在某个列中有一特定值的行不使用索引MySQL必须从第一条记录开始读完整个表直到找出相关的行表越大查询数据所花费的时间就越多如果表中查询的列有一个索引MySQL能够快速到达一个位置去搜索数据文件而不必查看所有数据那么将会节省很大一部分时间。 索引类似一本书的目录比如要查找’student’这个单词可以先找到s开头的页然后向后查找这个就类似索引。 索引的分类 索引是存储引擎用来快速查找记录的一种数据结构按照实现的方式类分主要有Hash索引和BTree索引 Hash索引 BTree索引 二、MySQL索引 按照功能划分索引划为以下分类: 1.单列索引 单列索引一个索引只包含单个列但一个表中可以有多个单列索引; 1.1. 普通索引 普通索引MySQL中基本索引类型没有什么限制允许在定义索引的列中插入重复值和空值纯粹为了查询数据更快一点。 创建索引 create database mydb5; use mydb5;-- 方式1-创建表的时候直接指定 create table student(sid int primary key,card_id varchar(20),name varchar(20),gender varchar(20),age int,birth date, phone_num varchar(20),score double,index index_name(name) -- 给name列创建索引 );-- 方式2-直接创建 -- create index indexname on tablename(columnname); create index index_gender on student(gender); -- 方式3-修改表结构(添加索引) -- alter table tablename add index indexname(columnname) alter table student add index index_age(age);查看索引 -- 1、查看数据库所有索引 -- select * from mysql.innodb_index_stats a where a.database_name 数据库名’; select * from mysql.innodb_index_stats a where a.database_name mydb5;-- 2、查看表中所有索引 -- select * from mysql.innodb_index_stats a where a.database_name 数据库名 and a.table_name like %表名%’; select * from mysql.innodb_index_stats a where a.database_name mydb5 and a.table_name like %student%;-- 3、查看表中所有索引 -- show index from table_name; show index from student;删除索引 drop index index_gender on student -- 或 alter table student drop index index_name1.2. 唯一索引 介绍 唯一索引与前面的普通索引类似不同的就是索引列的值必须唯一但允许有空值。如果是组合索引则列值的组合必须唯一。它有以下几种创建方式 创建索引 -- 方式1-创建表的时候直接指定 create table student2(sid int primary key,card_id varchar(20),name varchar(20),gender varchar(20),age int,birth date, phone_num varchar(20),score double,unique index_card_id(card_id) -- 给card_id列创建索引 ); -- 方式2-直接创建 -- create unique index 索引名 on 表名(列名) create unique index index_card_id on student2(card_id);-- 方式3-修改表结构(添加索引) -- alter table 表名 add unique [索引名] (列名) alter table student2 add unique index_phone_num(phone_num)删除索引 drop index index_card_id on student2 -- 或 alter table student2 drop index index_phone_num1.3. 主键索引 介绍 每张表一般都会有自己的主键当我们在创建表时MySQL会自动在主键列上建立一个索引这就是主键索引。主键是具有唯一性并且不允许为NULL所以他是一种特殊的唯一索引。 2.组合索引 介绍 组合索引也叫复合索引指的是我们在建立索引的时候使用多个字段例如同时使用身份证和手机号建立索引同样的可以建立为普通索引或者是唯一索引。 复合索引的使用复合最左原则。 格式 – 创建索引的基本语法 create index indexname on table_name(column1(length),column2(length)); 代码 -- 组合索引 use mydb5; -- 创建索引的基本语法-- 普通索引 -- create index indexname on table_name(column1(length),column2(length)); create index index_phone_name on student(phone_num,name); -- 操作-删除索引drop index index_phone_name on student; -- 创建索引的基本语法-- 唯一索引 create unique index index_phone_name on student(phone_num,name);select * from student where name 张三; select * from student where phone_num 15100046637; select * from student where phone_num 15100046637 and name 张三; select * from student where name 张三 and phone_num 15100046637; /* 三条sql只有 2 、 3、4能使用的到索引idx_phone_name,因为条件里面必须包含索引前面的字段 才能够进行匹配。而3和4相比where条件的顺序不一样为什么4可以用到索引呢是因为mysql本身就有一层sql优化他会根据sql来识别出来该用哪个索引我们可以理解为3和4在mysql眼中是等价的。 */ 3.全文索引 概述 全文索引的关键字是fulltext 全文索引主要用来查找文本中的关键字而不是直接与索引中的值相比较它更像是一个搜索引擎基于相似度的查询而不是简单的where语句的参数匹配。 用 like % 就可以实现模糊匹配了为什么还要全文索引like % 在文本比较少时是合适的但是对于大量的文本数据检索是不可想象的。全文索引在大量的数据面前能比 like % 快 N 倍速度不是一个数量级但是全文索引可能存在精度问题。 只有字段的数据类型为 char、varchar、text 及其系列才可以建全文索引 在数据量较大时候现将数据放入一个没有全文索引的表中然后再用create index创建fulltext索引要比先为一张表建立fulltext然后再将数据写入的速度快很多 MySQL 中的全文索引有两个变量最小搜索长度和最大搜索长度对于长度小于最小搜索长度和大于最大搜索长度的词语都不会被索引。通俗点就是说想对一个词语使用全文索引搜索那么这个词语的长度必须在以上两个变量的区间内。这两个的默认值可以使用以下命令查看: show variables like ‘%ft%’; 参数解释: 代码 -- 创建表的时候添加全文索引 create table t_article (id int primary key auto_increment ,title varchar(255) ,content varchar(1000) ,writing_date date -- , -- fulltext (content) -- 创建全文检索 );insert into t_article values(null,Yesterday Once More,When I was young I listen to the radio,2021-10-01); insert into t_article values(null,Right Here Waiting,Oceans apart, day after day,and I slowly go insane,2021-10-02); insert into t_article values(null,My Heart Will Go On,every night in my dreams,i see you, i feel you,2021-10-03); insert into t_article values(null,Everything I Do,eLook into my eyes,You will see what you mean to me,2021-10-04); insert into t_article values(null,Called To Say I Love You,say love you no new years day, to celebrate,2021-10-05); insert into t_article values(null,Nothings Gonna Change My Love For You,if i had to live my life without you near me,2021-10-06); insert into t_article values(null,Everybody,Were gonna bring the flavor show U how.,2021-10-07);-- 修改表结构添加全文索引 alter table t_article add fulltext index_content(content)-- 直接添加全文索引 create fulltext index index_content on t_article(content); 使用索引 使用全文索引和常用的模糊匹配使用 like % 不同全文索引有自己的语法格式使用 match 和 against 关键字格式: match (col1,col2,…) against(expr [search_modifier]) select * from t_article where match(content) against(yo); -- 没有结果 单词数需要大于等于3 select * from t_article where match(content) against(you); -- 有结果 select * from t_article where content like %you%; 4.空间索引 空间索引是对空间数据类型的字段建立的索引MYSQL中的空间数据类型有4种分别是GEOMETRY、POINT、LINESTRING、POLYGON。 MYSQL使用SPATIAL关键字进行扩展使得能够用于创建正规索引类型的语法创建空间索引。 创建空间索引的列必须将其声明为NOT NULL。 代码 create table shop_info (id int primary key auto_increment comment id,shop_name varchar(64) not null comment 门店名称,geom_point geometry not null comment 经纬度,spatial key geom_index(geom_point) );索引的验证 -- 创建临时表 create temporary table tmp_goods_cat as select t3.catid as cat_id_l3, -- 3级分类idt3.catname as cat_name_l3, -- 3级分类名称t2.catid as cat_id_l2, -- 2级分类idt2.catname as cat_name_l2, -- 2级分类名称t1.catid as cat_id_l1, -- 1级分类idt1.catname as cat_name_l1 -- 1级分类名称 from itcast_shop.itheima_goods_cats t3,itcast_shop.itheima_goods_cats t2,itcast_shop.itheima_goods_cats t1 where t3.parentid t2.catidand t2.parentid t1.catidand t3.cat_level 3;-- -- 统计分析不同一级商品分类对应的总金额、总笔数 select2019-09-05,t1.cat_name_l1 as goods_cat_l1,sum(t3.payprice * t3.goodsnum) as total_money,count(distinct t3.orderid) as total_cnt fromtmp_goods_cat t1 left join itheima_goods t2on t1.cat_id_l3 t2.goodscatid left join itheima_order_goods t3on t2.goodsid t3.goodsid wheresubstring(t3.createtime, 1, 10) 2019-09-05 group byt1.cat_name_l1;-- 创建索引 create unique index idx_goods_cat3 on tmp_goods_cat(cat_id_l3); create unique index idx_itheima_goods on itheima_goods(goodsid); create index idx_itheima__order_goods on itheima_order_goods(goodsid); 可以看到添加索引之后查询速度明显提高了很多。 三、索引的原理 一般来说索引本身也很大不可能全部存储在内存中因此索引往往以索引文件的形式存储的磁盘上。 这样的话索引查找过程中就要产生磁盘I/O消耗相对于内存存取I/O存取的消耗要高几个数量级所以评价一个数据结构作为索引的优劣最重要的指标就是在查找过程中磁盘I/O操作次数的渐进复杂度。 换句话说索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数。 1.Hash算法 优点通过字段的值计算的hash值定位数据非常快。 缺点不能进行范围查找因为散列表中的值是无序的无法进行大小的比较。 2.二叉树 特性分为左子树、右子树和根节点左子树比根节点值要小右子树比根节点值要大 缺点有可能产生不平衡 类似于链表的结构 。 3.平衡二叉树 特点 a、它的左子树和右子树都是平衡二叉树 b、左子树比中间小右子树比中间值 c、左子树和右子树的深度之差的绝对值不超过1 缺点 a、插入操作需要旋转 b、支持范围查询但回旋查询效率较低比如要查找大于8的会回旋到父节点7、10。 c、如果存放几百条数据的情况下树高度越高查询效率会越慢 BTREE树 目前大部分数据库系统及文件系统都采用B-Tree或其变种BTree作为索引结构Btree结构可以有效的解决之前的相关算法遇到的问题。 MyISAM引擎使用BTree作为索引结构叶节点的data域存放的是数据记录的地址。 InnoDB的叶节点的data域存放的是数据相比MyISAM效率要高一些但是比较占硬盘内存大小。 四、索引的特点 索引的优点 大大加快数据的查询速度使用分组和排序进行数据查询时可以显著减少查询时分组和排序的时间创建唯一索引能够保证数据库表中每一行数据的唯一性在实现数据的参考完整性方面可以加速表和表之间的连接 索引的缺点 创建索引和维护索引需要消耗时间并且随着数据量的增加时间也会增加索引需要占据磁盘空间对数据表中的数据进行增加修改删除时索引也要动态的维护降低了维护的速度 创建索引的原则 更新频繁的列不应设置索引数据量小的表不要使用索引毕竟总共2页的文档还要目录吗重复数据多的字段不应设为索引比如性别只有男和女一般来说重复的数据超过百分之15就不该建索引首先应该考虑对where 和 order by 涉及的列上建立索引 该内容主要是本人对哔站up黑马程序员的mysql课程的学习总结 结~~~
http://www.hyszgw.com/news/81000.html

相关文章:

  • 网站维护是什么样怎么免费推广自己网站
  • 搭建科技网站价格做娱乐网站少10个页面
  • 榆林电商网站建设德州营销型网站
  • 包装网站建设价格学校网站建设的意义和应用
  • 苏州网站建设苏州开创者wordpress素材
  • 阿里云网站建设部署与发布视频电商网站设计与制作
  • 做视频网站 带宽多少才合适icp备案网站建设方案书
  • 建设网站如入什么费宝安网站制作公司
  • 咨询聊城网站建设公众号小程序制作平台
  • 网站开发案例分析网站开发工作招聘
  • 做网站要哪些人员做网站设计的公司有哪些
  • discuz分类信息模板成都优化网站哪家公司好
  • 电子商务网站运营方案谷歌广告推广网站
  • asp网站免费模板帮人做淘宝美工的网站
  • 网站地图 制作工具中文软件开发平台
  • 乡镇网站建设内容规划网站设计实验
  • 浙江手机版建站系统信息指数平滑法
  • 关于网络营销的网站给一个企业做网站
  • 怎样建设和维护网站百度贴吧网页版登录入口
  • 大连百姓网免费发布信息网站哈尔滨关键词优化排名
  • 长春网站建设报价wordpress还原恢复数据库
  • 免费自动建站网页聊天工具
  • 华梦服饰网站建设中微信网站怎么收款
  • 做外国的网站卖东西投资1元赚1000
  • 宜昌做网站哪家最便宜gif制作软件app
  • 苏州专业高端网站建设电商第三方平台有哪些
  • 图书馆 网站开发 总结用一部手机制作网站
  • 小门户网站模板WordPress对象存储插件
  • 网站修改解析怎么做自建 迁移 wordpress
  • 网站加载页面怎么做手机下载微信电脑版官方免费下载