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

tp5手机网站开发网站改版方案流程

tp5手机网站开发,网站改版方案流程,seo排名优化关键词,seo网站优化方案MySQL 实验 7#xff1a;索引的操作 索引是对数据表中一列或多列的值进行排序的一种结构#xff0c;索引可以大大提高 MySQL 的检索速度。合理使用索引#xff0c;可以大大提升 SQL 查询的性能。 索引好比是一本书前面的目录#xff0c;假如我们需要从书籍查找与 xx 相关…MySQL 实验 7索引的操作 索引是对数据表中一列或多列的值进行排序的一种结构索引可以大大提高 MySQL 的检索速度。合理使用索引可以大大提升 SQL 查询的性能。 索引好比是一本书前面的目录假如我们需要从书籍查找与 xx 相关的内容我们可以从目录中查找定位到 xx 内容所在页面如果没有设置目录索引则只能逐字逐页阅读文本查找。 当执行查询操作时如果不使用索引MySQL 必须从第一条记录开始读完整个表直到找出相关的行。如果表中查询的列有一个索引MySQL 能够快速到达一个位置去搜索数据文件而不必查看所有数据。 一、索引的优缺点 索引虽然可以提高检索的速度但创建过多的、不必要的索引还会影响数据增、删、改的效率。 1、索引的优点 1索引大大减小了服务器需要扫描的数据量从而大大加快数据的检索速度这也是创建索引的最主要的原因。 2通过创建唯一性索引可以保证数据库表中每一行数据的唯一性。 3可以加速表和表之间的连接。 4在使用分组和排序子句进行数据检索时可以减少查询中分组和排序的时间。 2、索引的缺点 1创建索引和维护索引要耗费时间这种时间随着数据量的增加而增加。 2索引需要占物理空间除了数据表占用数据空间之外每一个索引还要占用一定的物理空间如果需要建立聚簇索引那么需要占用的空间会更大。 3对表中的数据进行增、删、改的时候索引也要动态的维护降低了数据的维护速度。 3、创建索引的原则 1在经常需要检索的列上创建索引可以加快检索的速度。 2在作为主键的列上创建聚簇索引可以保证该列的唯一性和组织表中数据的排列顺序。 3在经常用在连接的列上一般是表中的外键创建索引可以提高连接的速度。 4在经常需要根据范围BETWEENIN进行搜索的列上创建索引。 4在经常需要排序order by的列上创建索引因为索引已经排序这样查询可以利用索引的排序加快排序查询时间。 5在经常使用在 WHERE 子句中的列上面创建索引可以加快条件的判断速度。 6对于那些在查询中很少使用的列不应该创建索引。 7对于那些重复值过多的列也不应该增加索引。 8经常进行数据更新的列不应该创建索引。 二、索引的分类 MySQL 的索引有两种分类方式逻辑分类和物理分类。 1、逻辑分类 1按功能划分索引可以分为四类主键索引、唯一索引、普通索引和全文索引。 主键索引主键索引默认创建为聚簇索引主键索引会改变表中记录的物理顺序。一张表只能创建一个主键索引主键索引所包含的列不允许重复、不允许为 NULL。 唯一索引唯一索引包含的数据列不允许取重复值但允许为 NULL 值。一张表可以创建多个唯一索引索引列的值必须唯一如果是组合索引则唯一索引包含的所有列的组合必须取值唯一。 普通索引一张表可以创建多个普通索引普通索引允许数据重复索引所包含的列允许取 NULL 值。 全文索引查找文本中的关键词主要用于全文检索。 2按索引包含的列数可以分为两类单列索引和多列索引又叫组合索引。 单例索引一个索引只包含一个列一个表可以有多个单例索引。 组合索引一个组合索引包含两个或两个以上的列。查询时遵循组合索引的【最左前缀】原则即使用 where 时条件要按照建立索引的时候字段的排列方式放置索引才会生效。 2、物理分类 按索引的存储结构划分可以把索引分为聚簇索引也叫聚集索引和非聚簇索引。 1聚簇索引聚簇索引clustered index不是单独的一种索引类型而是一种数据存储方式每张表最多只能拥有一个聚簇索引。表中的数据其实就是按照聚簇索引的顺序进行排列。因此按照聚簇索引查询速度更快。 2非聚簇索引聚簇索引之外的索引称之为非聚簇索引又称为辅助索引。查找数据时首先通过非聚簇索引找到主键值然后到主键索引树中通过主键值找到数据行。 三、创建表的同时创建索引 1主键索引和唯一索引的创建请参见【MySQL 实验6定义数据的完整性】。 2创建普通索引可以使用关键字 key 或 index 创建普通索引。语法格式如下 create table table_name(col_name data_type primary key,col_name data_type,... ,col_name data_type,INDEX|KEY [索引名] (列名[(长度)] , ...) ); -- 说明 1索引名给创建的索引取一个新名称。如果不指定则采用字段名作为索引名。 2列名指定索引对应的列的名称。列名可以有多个即创建多列索引。 3长度指索引的长度字符串类型才可以使用。 4可以根据表达式创建索引。例如 create table emp02(e_id int primary key,e_name char(20),birth date,salary decimal(10,2),phone char(20),address varchar(200),dept_name char(30),key(e_name), -- 不指定索引名称index idx_salary(salary), -- 指定索引名称index idx_dept_salary(dept_name,salary), -- 指定多列索引key idx_phone(phone(11)) -- 指定索引长度 );-- 查看表结构 mysql desc emp02; ----------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------- | e_id | int(11) | NO | PRI | NULL | | | e_name | char(20) | YES | MUL | NULL | | | birth | date | YES | | NULL | | | salary | decimal(10,2) | YES | MUL | NULL | | | phone | char(20) | YES | MUL | NULL | | | address | varchar(200) | YES | | NULL | | | dept_name | char(30) | YES | MUL | NULL | | ----------------------------------------------------- 7 rows in set (0.00 sec)-- 查看索引 mysql show create table emp02\G *************************** 1. row ***************************Table: emp02 Create Table: CREATE TABLE emp02 (e_id int(11) NOT NULL,e_name char(20) DEFAULT NULL,birth date DEFAULT NULL,salary decimal(10,2) DEFAULT NULL,phone char(20) DEFAULT NULL,address varchar(200) DEFAULT NULL,dept_name char(30) DEFAULT NULL,PRIMARY KEY (e_id),KEY e_name (e_name),KEY idx_salary (salary),KEY idx_dept_salary (dept_name,salary),KEY idx_phone (phone(11)) ) ENGINEInnoDB DEFAULT CHARSETlatin1 1 row in set (0.00 sec)00试环境进行据库 create table emp02(e_id int primary key,e_name char(20),birth date,salary decimal(10,2),phone char(20),address varchar(200),dept_name char(30),key(e_name), -- 不指定索引名称index idx_salary(salary), -- 指定索引名称index idx_dept_salary(dept_name,salary), -- 指定多列索引key idx_phone(phone(11)) );四、添加索引 数据表创建完成后可以使用 alter table 或 create index 命令添加所需的索引。 1、使用 alter table 添加索引 语法格式如下 ALTER TABLE 表名 ADD INDEX|KEY [索引名](字段名[(长度)], ...);例如 create table emp03(e_id int primary key,e_name char(20),birth date,salary decimal(10,2),phone char(20),address varchar(200),dept_name char(30) );-- 添加索引不指定索引名 alter table emp03 add index(e_name);-- 添加索引指定索引名 alter table emp03 add index idx_salary(salary);-- 添加多列索引指定索引名 alter table emp03 add index idx_dept_salary(dept_name, salary);-- 添加索引指定长度 alter table emp03 add index idx_phone(phone(11));-- 查看表结构 mysql desc emp03; ----------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------- | e_id | int(11) | NO | PRI | NULL | | | e_name | char(20) | YES | MUL | NULL | | | birth | date | YES | | NULL | | | salary | decimal(10,2) | YES | MUL | NULL | | | phone | char(20) | YES | MUL | NULL | | | address | varchar(200) | YES | | NULL | | | dept_name | char(30) | YES | MUL | NULL | | ----------------------------------------------------- 7 rows in set (0.01 sec)-- 查看索引 mysql show create table emp03\G *************************** 1. row ***************************Table: emp03 Create Table: CREATE TABLE emp03 (e_id int(11) NOT NULL,e_name char(20) DEFAULT NULL,birth date DEFAULT NULL,salary decimal(10,2) DEFAULT NULL,phone char(20) DEFAULT NULL,address varchar(200) DEFAULT NULL,dept_name char(30) DEFAULT NULL,PRIMARY KEY (e_id),KEY e_name (e_name),KEY idx_salary (salary),KEY idx_dept_salary (dept_name,salary),KEY idx_phone (phone(11)) ) ENGINEInnoDB DEFAULT CHARSETlatin1 1 row in set (0.00 sec)2、使用 create index 添加索引 语法格式如下 CREATE INDEX 索引名 ON 表名(字段名[(长度)], ...);例如 create table emp04(e_id int primary key,e_name char(20),birth date,salary decimal(10,2),phone char(20),address varchar(200),dept_name char(30) );-- 添加单列索引 create index idx_name on emp04(e_name);-- 添加多列索引 create index idx_dept_salary on emp04(dept_name,salary);-- 指定索引长度 create index idx_phone on emp04(phone(11));-- 查看表结构 mysql desc emp04; ----------------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------------- | e_id | int(11) | NO | PRI | NULL | | | e_name | char(20) | YES | MUL | NULL | | | birth | date | YES | | NULL | | | salary | decimal(10,2) | YES | | NULL | | | phone | char(20) | YES | MUL | NULL | | | address | varchar(200) | YES | | NULL | | | dept_name | char(30) | YES | MUL | NULL | | ----------------------------------------------------- 7 rows in set (0.01 sec)-- 查看索引 mysql show create table emp04\G *************************** 1. row ***************************Table: emp04 Create Table: CREATE TABLE emp04 (e_id int(11) NOT NULL,e_name char(20) DEFAULT NULL,birth date DEFAULT NULL,salary decimal(10,2) DEFAULT NULL,phone char(20) DEFAULT NULL,address varchar(200) DEFAULT NULL,dept_name char(30) DEFAULT NULL,PRIMARY KEY (e_id),KEY idx_name (e_name),KEY idx_dept_salary (dept_name,salary),KEY idx_phone (phone(11)) ) ENGINEInnoDB DEFAULT CHARSETlatin1 1 row in set (0.00 sec)五、删除索引 删除索引的语法格式如下 -- 使用 alter table 命令删除索引 LTER TABLE 表名 DROP INDEX 索引名; -- 使用 drop index 命令删除索引 DROP INDEX 索引名 ON 表名;例如 -- 查看 emp03 表中的索引 mysql show create table emp03\G *************************** 1. row ***************************Table: emp03 Create Table: CREATE TABLE emp03 (e_id int(11) NOT NULL,e_name char(20) DEFAULT NULL,birth date DEFAULT NULL,salary decimal(10,2) DEFAULT NULL,phone char(20) DEFAULT NULL,address varchar(200) DEFAULT NULL,dept_name char(30) DEFAULT NULL,PRIMARY KEY (e_id),KEY e_name (e_name),KEY idx_salary (salary),KEY idx_dept_salary (dept_name,salary),KEY idx_phone (phone(11)) ) ENGINEInnoDB DEFAULT CHARSETlatin1 1 row in set (0.00 sec)-- 删除索引e_name alter table emp03 drop index e_name;-- 删除索引idx_salary drop index idx_salary on emp03;-- 重新查看 emp03 表中的索引 mysql show create table emp03\G *************************** 1. row ***************************Table: emp03 Create Table: CREATE TABLE emp03 (e_id int(11) NOT NULL,e_name char(20) DEFAULT NULL,birth date DEFAULT NULL,salary decimal(10,2) DEFAULT NULL,phone char(20) DEFAULT NULL,address varchar(200) DEFAULT NULL,dept_name char(30) DEFAULT NULL,PRIMARY KEY (e_id),KEY idx_dept_salary (dept_name,salary),KEY idx_phone (phone(11)) ) ENGINEInnoDB DEFAULT CHARSETlatin1 1 row in set (0.00 sec)
http://www.hkea.cn/news/14569106/

相关文章:

  • 廊坊论坛网站建设ftp客户端软件
  • 做黄页网站要告我dedecms免费模板
  • 重庆做网站最好的网页浏览
  • 一元购物网站怎么做wordpress安装幻灯片插件
  • 郑州网站权重广州建站外贸网站
  • 网站做缓存在哪里可以自己建网站
  • 沈阳网站建设方案襄阳做网站价格
  • 搭建企业网站的步骤wordpress语录主题
  • 山东省住房和城乡建设厅网站注册中心网页设计与网站建设完全实战手册
  • 网站建设叁金手指花总6杭州市建设信用网站
  • 源代码做的网站好用么萧山好的做网站的公司
  • 挂马网站 名单上海公司注册网上查名
  • 律所网站建设平板电视seo优化关键词
  • 最新网站开发软件做行业网站如何采集信息
  • 企业建站项目丽水微信网站建设报价
  • 泉州茶叶网站建设wordpress定时备份插件
  • 建设网站要注意哪些小规模公司怎么注销
  • 备案的网站必须打开吗动态wordpress模板
  • 手机网站 动态 页面 好 静态页面好建设厅网站突然显示不全
  • 深圳网站建设定制开发大型网站建设推荐
  • 论学院网站建设项目的进度管理天津网站建设方案报价
  • 如何能快速搜到新做网站链接百度怎么对网站处罚
  • 麓谷网站建设公司wordpress 团购 主题
  • 学院网站开发网站定位新增网站备案
  • 新注册公司网站免费怎么做php做网站软件
  • 河南省通信管理局网站备案电话那些网站可以做团购
  • 网站报错 500网站地图样本
  • 玉溪网站开发手机网站开发 html5
  • 建立一个公司的网站吗网站设计流程的步骤包括
  • 做网站给不给源代码襄樊门户网站建设