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

做网站php和asp哪个好专门看广告的网站

做网站php和asp哪个好,专门看广告的网站,网站建设工程师培训,苹果企业签名内容【EasyPan】项目常见问题解答(自用&持续更新中…)汇总版 MySQL主键与索引核心作用解析 一、主键(PRIMARY KEY)核心作用 1. 数据唯一标识 -- 创建表时定义主键 CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,use…

【EasyPan】项目常见问题解答(自用&持续更新中…)汇总版

MySQL主键与索引核心作用解析

一、主键(PRIMARY KEY)核心作用

1. 数据唯一标识

-- 创建表时定义主键
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL
);
  • 唯一性约束:确保每行数据有唯一标识符
  • 非空约束:主键列不允许NULL值
  • 物理排序:InnoDB按主键顺序组织存储(聚簇索引)

2. 性能优化

场景效果
WHERE条件查询直接定位到数据页
关联查询(JOIN)快速匹配关联表数据
范围查询利用B+树的有序特性加速

二、索引(INDEX)核心作用

1. 基础索引类型

-- 创建普通索引
CREATE INDEX idx_email ON users(email);-- 创建唯一索引
CREATE UNIQUE INDEX uq_username ON users(username);

2. 核心功能对比

功能主键普通索引唯一索引
唯一性✅ 强制❌ 不保证✅ 强制
NULL值❌ 不允许✅ 允许✅ 允许(但仅限NULL)
数量限制每表1个每表多个每表多个
自动创建自动创建聚簇索引需手动创建需手动创建

3. 查询优化原理

使用索引
无索引
SQL查询
查询分析器
索引扫描
全表扫描
快速定位数据
逐行检查

三、实战应用场景

1. 必须使用主键的场景

  • 作为外键关联的基础
  • 需要物理排序的业务(如时间线数据)
  • 高频WHERE条件查询的列

2. 适合建索引的场景

-- 复合索引示例
ALTER TABLE orders ADD INDEX idx_status_created (status, created_at);
场景索引类型建议示例字段
等值查询普通索引user_id, order_no
范围查询复合索引created_at, price
排序操作覆盖索引排序字段+查询字段
统计分组复合索引group_type, region

四、注意事项

  1. 索引代价

    • 写操作变慢(需维护索引结构)
    • 占用额外存储空间
  2. 设计原则

    • 选择区分度高的列(如ID > 状态字段)
    • 避免过度索引(一般不超过5-6个)
    • 定期使用EXPLAIN分析查询计划
  3. 失效场景

    -- 索引失效案例
    SELECT * FROM users WHERE LEFT(username,3) = 'abc';
    -- 应改为:
    SELECT * FROM users WHERE username LIKE 'abc%';
    

五、性能对比测试

数据量无索引查询有索引查询提升倍数
10万行1200ms5ms240x
100万行9500ms8ms1187x


MySQL主键与索引的生活化解释

一、主键:就像身份证号

1. 基本特性

  • 🆔 唯一标识:每个学生学号、每张快递单号都不重复
  • 🚫 不能为空:就像"无名氏"不能办银行卡
  • 📌 快速定位:快递员凭单号秒找包裹(数据库凭主键秒查数据)

2. 生活场景

[图书馆管理系统]
├── 书号_PK001 --> 《三体》 --> A区3架2层
├── 书号_PK002 --> 《小王子》 --> B区1架5层
└── 书号_PK003 --> 《红楼梦》 --> C区2架3层
  • 书号=主键,能快速找到具体书籍

二、索引:就像字典目录

1. 普通索引(新华字典拼音查字法)

-- 给"学生姓名"加索引
ALTER TABLE students ADD INDEX idx_name (name);
  • 📖 快速查找:不用翻完整本字典,直接查"李"字在哪页
  • 🔍 多本目录:可以同时有拼音索引、偏旁部首索引

2. 唯一索引(公司工牌系统)

-- 防止重复手机号
CREATE UNIQUE INDEX uq_phone ON customers (phone);
  • 👔 防重复:就像公司不允许两个员工用同一个工号
  • ⚠️ 特殊规则:允许"未登记"(NULL),但不允许重复登记

三、主键vs索引的区别

主键索引
类比身份证通讯录
数量每人只有1张可以有多个联系方式
作用必须要有且不能重复加速查找但非必须
代价免费自带需要额外维护

四、什么时候需要索引?

✅ 推荐场景

  1. 高频搜索
    👉 比如电商平台按"商品名称"搜索(给name字段加索引)

  2. 排序需求
    👉 朋友圈按"发布时间"排序(给created_at加索引)

  3. 重要约束
    👉 用户注册防重复手机号(给phone加唯一索引)

❌ 不推荐场景

  1. 很少查询的字段
    👎 像"用户血型"这种几乎不用的字段

  2. 频繁修改的字段
    👎 像"文章阅读数"这种每分钟都更新的字段

五、使用技巧

  1. 复合索引口诀
    👉 把最常用的查询条件放前面,就像"先查省→再查市"的快递地址

  2. 索引维护成本
    ⚠️ 每新建一个索引就像多维护一份通讯录,会增加:

    • 存储空间(多占手机内存)
    • 更新时间(新增联系人要同时更新多个通讯录)
  3. 实际效果测试
    🔍 用EXPLAIN命令查看,就像检查快递员是否真的用了最优路线

http://www.dtcms.com/wzjs/210734.html

相关文章:

  • 网站域名如何优化高报师培训机构排名
  • 网站logo如何做链接重庆百度推广的代理商
  • 网页制作与网站建设知识框架图sem优化怎么做
  • 傻瓜式网站制作软件网络推广一个月工资多少
  • 网站建设 地址 上海石门二路seo推广软件品牌
  • 良乡网站建设媒体邀约
  • wordpress系统安装seo sem是什么意思
  • 网站建设中 什么意思个人代运营一般怎么收费
  • 网站备案有什么要求seminar
  • 大连做网站企业网站关键词在线优化
  • 做哪个视频网站赚钱的seo站内优化教程
  • 凡科做的网站怎么联系百度客服人工服务
  • asp.net获取网站地址qq推广工具
  • 已有域名怎么做网站软件培训机构哪家好
  • 制作网站怎么制作线上推广是什么意思
  • 淮安网站建设报价网络推广专员所需知识
  • 玉溪市住房和城乡建设局网站软文撰写
  • 一般网站是怎么做的深圳seo优化排名
  • java网站开发文档课程设计镇江seo优化
  • 建个网站需要投资多少网页设计模板html代码
  • 腾讯云可以做网站免费网站站长查询
  • 做网站标配湖南竞价优化专业公司
  • 网站展示型广告案例解析百度搜索风云榜电视剧
  • 四级a做爰片免费网站武汉网络营销推广
  • 网站的需求软文推广哪个平台好
  • 医疗网站建设及优化上海网站排名seo公司哪家好
  • 做网站必须开厂吗windows优化软件排行
  • 做装修设计的网站百度优化推广
  • 网站建设所需上海优化价格
  • 院校门户网站建设方案seo搜索铺文章