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

网站后台怎么上传表格附近的计算机培训班

网站后台怎么上传表格,附近的计算机培训班,acg的wordpress主题,招标网站建设申请MySQL 索引的核心操作语法,涵盖创建、查看、删除及优化场景,附详细示例:一、创建索引 1. 建表时创建 CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT, -- 主键索引 (自动创建)username VARCHAR(50) UNIQUE, -- 唯…

MySQL 索引的核心操作语法,涵盖创建、查看、删除及优化场景,附详细示例:


一、创建索引

1. 建表时创建
CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,       -- 主键索引 (自动创建)username VARCHAR(50) UNIQUE,             -- 唯一索引email VARCHAR(100),age INT,city VARCHAR(20),INDEX idx_age (age),                     -- 普通单列索引INDEX idx_city_age (city, age),          -- 联合索引FULLTEXT INDEX ft_idx_email (email)      -- 全文索引 (MyISAM/InnoDB)
) ENGINE=InnoDB;
2. 表已存在时添加
-- 添加普通索引
ALTER TABLE users ADD INDEX idx_email (email);
-- 或
CREATE INDEX idx_email ON users (email);-- 添加唯一索引
ALTER TABLE users ADD UNIQUE INDEX uni_username (username);-- 添加联合索引
ALTER TABLE users ADD INDEX idx_city_age (city, age);-- 添加全文索引 (适用于文本搜索)
ALTER TABLE articles ADD FULLTEXT INDEX ft_title_content (title, content);-- 添加前缀索引 (限制索引长度)
ALTER TABLE logs ADD INDEX idx_url_prefix (url(20));  -- 只索引url前20字符

二、查看索引

-- 查看表的所有索引
SHOW INDEX FROM users;-- 输出结果关键列:
--   Key_name: 索引名称
--   Column_name: 索引的列
--   Non_unique: 0=唯一索引, 1=非唯一索引
--   Index_type: BTREE(默认)/HASH/FULLTEXT

示例输出

TableNon_uniqueKey_nameSeq_in_indexColumn_nameIndex_type
users0PRIMARY1idBTREE
users0uni_username1usernameBTREE
users1idx_city_age1cityBTREE
users1idx_city_age2ageBTREE

三、删除索引

-- 删除普通索引
ALTER TABLE users DROP INDEX idx_email;
-- 或
DROP INDEX idx_email ON users;-- 删除主键索引 (需先移除自增属性)
ALTER TABLE users MODIFY id INT;       -- 取消自增
ALTER TABLE users DROP PRIMARY KEY;

四、索引优化场景语法

1. 强制使用索引
SELECT * FROM users FORCE INDEX (idx_city_age) 
WHERE city = 'Beijing' AND age > 25;
2. 忽略索引
SELECT * FROM users IGNORE INDEX (idx_age) 
WHERE age > 30;  -- 测试无索引时的性能
3. 重建索引 (解决碎片化)
-- InnoDB 表重建
ALTER TABLE users ENGINE=InnoDB;
-- 或优化表
OPTIMIZE TABLE users;

五、常见问题处理

1. 重复索引检测
-- 查询冗余索引 (schema替换为数据库名)
SELECT table_name,index_name,GROUP_CONCAT(column_name) AS columns
FROM information_schema.STATISTICS 
WHERE table_schema = 'your_db'
GROUP BY table_name, index_name
HAVING COUNT(*) > 1;
2. 索引未生效排查
EXPLAIN SELECT * FROM users WHERE age = 30 AND city = 'Shanghai';

检查 EXPLAIN 结果

  • typeref/range → 索引生效
  • typeALL → 全表扫描 (索引失效)
  • key 列为实际使用的索引名称

六、使用规范

场景推荐操作
主键字段INT/BIGINT 自增,避免使用 UUID
频繁查询的 WHERE 条件列创建单列或联合索引
长文本字段用前缀索引 INDEX (column(20)) 或全文索引
JOIN 关联列确保两表关联字段有相同类型的索引
排序/分组字段ORDER BYGROUP BY 的列建索引
低区分度字段 (如性别)不单独建索引,可与其他列建联合索引 (如 INDEX(gender, age))

示例:完整工作流

-- 1. 创建表
CREATE TABLE orders (order_id INT PRIMARY KEY,user_id INT NOT NULL,amount DECIMAL(10,2),status TINYINT,created_at DATETIME
);-- 2. 添加常用索引
ALTER TABLE orders ADD INDEX idx_user_id (user_id),ADD INDEX idx_created_at (created_at),ADD INDEX idx_status_amount (status, amount);-- 3. 查看索引
SHOW INDEX FROM orders;-- 4. 删除冗余索引 (假设不需要按amount单独查)
DROP INDEX idx_status_amount ON orders;-- 5. 重建表优化
OPTIMIZE TABLE orders;

💡 关键提示

  • 主键 PRIMARY KEY 自动创建 聚簇索引(数据按主键物理排序)
  • 修改索引 = 删除旧索引 + 新建索引(ALTER TABLE 是原子操作)
  • 生产环境避免高峰期执行索引变更(锁表风险)
http://www.dtcms.com/wzjs/521131.html

相关文章:

  • 自己做的网站显示iis7seo优化按天扣费
  • 深圳网站建设网页设计网络营销的作用
  • 怎么分析网站用什么技术做的企业网站推广
  • 什么是网络营销?如何理解网络营销的内涵seo排名点击器曝光行者seo
  • 网站banner动图怎么做网站及推广
  • 毕业设计网站设计步骤关键词优化的发展趋势
  • 软件开发流程的五大步骤网络优化工程师是干什么的
  • 哪些网站是用h5做的网站开发制作培训学校
  • 温州做网站的企业站长工具麻豆
  • 免费建立手机网站在哪里查关键词排名
  • 临朐营销型网站建设网站推广互联网推广
  • 铁岭网站制作市场调研问卷调查怎么做
  • 多国语言网站模板谷歌chrome官网
  • 商丘做微信网站sqwyy上海sem
  • 网站的轮播图怎么做正规代运营公司排名
  • 网站备案必须在公司注册地百度搜索推广登录入口
  • 小说章节收费网站建设安卓优化大师破解版
  • 企业网站案例展示温州seo顾问
  • 网站建设 深圳资讯门户类网站有哪些
  • thinkphp企业网站系统商业网站设计
  • 聊城开发区建设局网站宁波seo快速优化
  • 哈尔滨菜牌制作哈尔滨seo关键词排名
  • 网站建设文化事业建设费黑帽seo培训多少钱
  • asp政府网站系统南宁网络推广软件
  • 怎么开发一个网站站长之家seo工具包
  • 本地用织梦做网站推广产品的渠道
  • 泉州网站建设方案详细关键词有几种类型
  • 做背景视频哪个网站好平台怎么推广
  • 企业黄页信息查询网武汉百度seo网站优化
  • 哪个行业必须做网站批量查询神马关键词排名