在Reddit上有个提问:
2025年07月15日
MVC作为WEB程序的通用架构深受广大WEB程序员的拥护。 更是广泛成为面试题、考试试题、答辩问题等题材进行使用。
目前主流的语言框架及WEB系统大部分都是以MVC做为基础架构进行编写的。对于初学者而言理解MVC架构与熟悉业务逻辑的编写能极大的缩短学习一门语言框架的时间。然而初学者仅通过教材或许很难真正的理解MVC的架构及用法,在学习的过程中也可通过分析理解一些经典的语言框架进行学习。(例如:JSP + servlet + javabean)
2025年07月10日
索引的概述
索引用来快速的查询那些具有特定值的记录。所有的MySQL索引都是以B+树的形式保存的。如果没有索引,执行查询时MySQL必须从第一个记录开始,进行全表扫描,直至找到合适的记录。表里的记录越多,这个操作越耗时。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。
2025年07月10日
在满足对某张表中数据的增、删、改的情况下,自动触发的功能称之为触发器。视图就是通过查询得到一张虚拟表,然后将标结果保存下来,下次直接使用即可。索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。
触发程序(trigger)是一种特殊的存储过程,它的执行不是由程序调用,也不是手工启 动,而是通过事件进行触发来被执行的,当对一个表进行操作(insert,delete,update)时就会激活它并执行。触发程序经常用于加强数据的完整性约束和业务规则 等。触发程序类似于约束,但比约束更灵活,具有更精细和更强大的数据控制能力。触发 程序的优点如下。
2025年07月10日
一步一步推导出 Mysql 索引的底层数据结构。
Mysql 作为互联网中非常热门的数据库,其底层的存储引擎和数据检索引擎的设计非常重要,尤其是 Mysql 数据的存储形式以及索引的设计,决定了 Mysql 整体的数据检索性能。
2025年07月10日
在MySQL中一张表其实是可以支持多个索引的。但是,你写SQL语句的时候,并没有主动指定使用哪个索引。也就是说,使用哪个索引是由MySQL来确定的。
2025年07月10日
后端开发的小伙伴们!是不是经常有这样的困扰?自己反复测试、精心编写的 SQL 查询语句,在测试环境里跑得顺风顺水,可一旦部署到生产环境,查询速度就直线下降,甚至还会触发系统响应超时警报,紧接着就是产品经理的连环追问和领导投来质疑的目光。别慌!其实很大一部分原因,就藏在你对 MySQL 索引机制的掌握程度里,尤其是联合索引的使用,稍有不慎就容易踩坑!
2025年07月10日
首先我们还是先把表结构说下:用户表tb_user结构如下:
CREATE TABLE `tb_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(50) NOT NULL COMMENT '用户名',
`phone` varchar(11) NOT NULL COMMENT '手机号',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`profession` varchar(11) DEFAULT NULL COMMENT '专业',
`age` tinyint(3) unsigned DEFAULT NULL COMMENT '年龄',
`gender` char(1) DEFAULT NULL COMMENT '性别 , 1: 男, 2: 女',
`status` char(1) DEFAULT NULL COMMENT '状态',
`createtime` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `index_user_pro_age_sta` (`profession`,`age`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8
2025年07月10日
SQL性能分析工具有助于我们能够快速定位哪些SQL语句执行效率低下,从而有针对性的进行优化,这里我们优化的主要语句是SQL的DQL语句也就是查询语句。而在优化select查询语句的时候呢,索引的优化占据相当高的比重。
首先我们得知道MySQL服务器中SQL语句的执行频率如何,可通过show [sessison|global] status 命令查服务器的状态,然后通过show global status like 'Com_______'; 查看当前数据库的insert、update、delete、select的访问频次。