广西壮族自治区住房和城乡建设厅网站手机网站开发源码

news/2025/9/28 8:31:58/文章来源:
广西壮族自治区住房和城乡建设厅网站,手机网站开发源码,wordpress昵称中文,手机端网站如何优化目录 一、什么是sql注入 二、sql语句的执行流程 三、内连接和外连接的区别 四、Union和Union All 有什么区别 五、MySql如何取差集 六、DELETE和TRUNCATE有什么区别 七、count#xff08;*#xff09;和count#xff08;1#xff09;的区别 八、MyISAM和InnoDB的区…目录 一、什么是sql注入 二、sql语句的执行流程 三、内连接和外连接的区别 四、Union和Union All 有什么区别 五、MySql如何取差集 六、DELETE和TRUNCATE有什么区别 七、count*和count1的区别 八、MyISAM和InnoDB的区别 九、行级锁和表级锁 十、InnoDB存储引擎的三种行级锁 十一、谈谈对事务的理解 十二、谈谈数据库事务的实现原理 十三、什么是MVCC 十四、数据库并发事务会带来哪些问题 十五、事务的隔离级别 十六、谈谈对索引的理解 十七、索引的优缺点 十八、谈谈对BTree的理解 十九、谈谈MySql中的索引 二十、为什么选择BTree 二十一、BTree和BTree的主要区别 二十二、索引优化 二十三、MySql索引在什么情况下会失效 二十四、SQL优化 一、什么是sql注入 sql注入是指攻击者通过对用户输入的字符串内容加入sql语句与程序中sql进行拼接形成恶意查询非法命令等攻击手段。一般使用 占位符来避免sql注入。 二、sql语句的执行流程 通过MySql连接器建立Tcp连接进行用户密码的验证和权限的校验。 通过授权认证后对sql语句进行语义分析判断是否语法正确。 对sql语句进行预处理sql预编译。 执行查询优化器来获取最优执行路径。 通过索引或者全表查询。 三、内连接和外连接的区别 内连接是指只获取两表都符合条件的数据。 而外连接除了符合条件的数据还有左表数据、右表数据、两个连接表中所有数据外连接分为 左外连接是指左表所有数据保留右表保留符合条件的数据通过left join。 右外连接是指右表所有数据保留左表保留符合条件的数据通过right join。 全外连接是指保留所有行通过full join。 四、Union和Union All 有什么区别 Union是指对两个结果集不包含重复项 Union ALL包含重复项 五、MySql如何取差集 当对比字段存在索引时使用NOT EXISTS 效率高 当没有索引时使用LEFT JOIN 或者RIGHT JOIN效率高 六、DELETE和TRUNCATE有什么区别 首先delete语句可以接条件truncate不行。 delete是逐条删除的每条数据都会写入日志而truncate是按数据页删的只记录页释放。 delete删除后会保留空数据页truncate因为是按页删除的所以不会保留数据页。 如果该表存在id自增的话delete后会继续上次的数自增而truncate后从1开始。 七、count*和count1的区别 count1就是把查询结果替换成1count*是查询所有字段。 count1的效率要比count*高。 八、MyISAM和InnoDB的区别 MyISAM是mysql5.5之前默认的存储引擎而InnoDB是5.5之后默认的。 MyISAM是不支持事务的而InnoDB支持。 MyISAM只支持表级锁而InnoDB支持行级锁和表级锁默认为行级锁。 MyISAM不支持外键InnoDB支持。 九、行级锁和表级锁 表级锁是对整张表加锁实现简单消耗资源少加锁快不会出现死锁。但触发锁冲突的概率也大并发度低。MyISAM和InnoDB存储引擎都支持表级锁。 行级锁是对当前操作的行进行加锁他的并发度高加锁慢消耗资源多可能发生死锁。 十、InnoDB存储引擎的三种行级锁 记录锁是指在单个行上加锁。 间隙锁是指锁定一个范围不包含记录本身。 临键锁是他两相加锁定一个范围包含记录本身。 十一、谈谈对事务的理解 事务是数据库的一种特性包括ACID四个特点 原子性代表事务是数据库的最小执行单元。用于确保一个执行过程中所有步骤全部成功或失败。 一致性指在进行修改操作时要求数据在修改前和修改后状态保持一致。 隔离性是指在一个事务执行时不能被其他事务干扰。 持久性是指一个事务一旦被提交数据的改变时永久的。 十二、谈谈数据库事务的实现原理 InnoDB是通过重做日志来保证事务的持久性。 通过回滚日志来保证事务的原子性。 通过锁机制、MVCC等手段保证事务的隔离性。 保证了事务的持久性、原子性、隔离性后一致性才得以保障。 十三、什么是MVCC MVCC是行级锁的一个变种它能够减少加锁操作因此开销更低大多数MVCC都实现了非阻塞的读操作写操作也只锁定必要行。 MVCC是一种用来解决读写冲突的并发控制为事务分配单项增长的时间戳为每个修改保存一个版本每个版本对应一个时间戳每个事务都有对应一个版本快照。快照版本按照时间戳来决定先后顺序。 读操作只需要去读该事务开始前的最新数据快照。 十四、数据库并发事务会带来哪些问题 脏读是指一个事务访问并修改这个数据时另一个事务访问了这个数据因为修改的事务还没提交。就会导致读取的结果可能不正确。从而导致脏读。 不可重复读是指在一个事务中多次读取同一个数据而在其中两次读取数据之间另一个事务对该数据进行了修改从而导致两次读取数据不同。 丢失数据是指两个事务同时修改一个数据导致其中一个修改的结果就被丢失。 幻读是指在一个事务读取几行数据后另一个事务增加了一些数据而当第一个事务再次读取数据时发现多了一些原本不存在的数据。 十五、事务的隔离级别 读未提交最低隔离级别允许读取尚未提交的数据。可能会导致脏读、幻读、不可重复读。 读已提交Oracle默认隔离级别只能读取已经提交的数据可以避免脏读但可能会造成幻读和不可重复读。 可重复读MySql默认隔离级别指一个事务中读一个数据的多次读取结果是一致的除非这个事务本身修改过这个数据可以避免脏读和不可重复读可能发生幻读。 串行化最高隔离级别将所有事务挨个执行可以避免脏读、幻读、不可重复读。 十六、谈谈对索引的理解 索引是一种用于快速查询或检索数据的数据库存储结构保存了数据库指定字段的数据位置。 常见的索引有BTree索引和Hash索引 索引主要用提高数据库查询效率如果使用索引可以通过索引快速查找表中对应记录。 索引按照逻辑区别大致分为主键索引、唯一索引、普通索引、全文索引。按照字段分别单例索引和组合索引。 十七、索引的优缺点 索引的优点肯定是加快查找速率减少数据库需要扫描的数据行。通过唯一索引保证数据库每行的唯一性。 缺点则是创建索引和维护索引会消耗时间和资源在进行增删改的同时也会对索引进行修改导致sql的执行效率也会降低。索引还会占用多余存储空间。 十八、谈谈对BTree的理解 BTree的话是对BTree的一个变种他是MySql默认的索引类型。他的所有节点都是按照递增顺序排列按照左小右大原则所有数据都是存放在叶子节点上每一个叶子节点上都有一个指向下一个叶子节点的指针形成有序链表。 在查询数据时首先先在根节点上进行二分查找找到对应的叶子节点在进行二分查找找到key所对应的数据。 区间查找时由于叶子节点形成了有序链表所以可以通过指针遍历相邻叶子结点提高查询效率。 十九、谈谈MySql中的索引 除了上面的BTree索引还有一个常用索引Hash索引 他是基于hash表实现的一种索引结构通过hash算法来计算字段哈希值来找到对应数据。所以他的时间复杂度为O(1)。 他无法用于排序、分组、范围查找。只支持精确查找 在InnoDB存储引擎中有一个特殊功能叫自适应哈希索引当某个索引值使用频繁时他会在BTree索引之上在建一个hash索引以此来获得hash索引的优点。 二十、为什么选择BTree 全表扫描能力强。因为子节点存在有序链表可以直接通过链表遍历。 支持排序分组。 查询时更加稳定因为数据只保存在叶子节点上。 读写能力强。他的根节点和枝节点不保存数据所以根枝同样大小的情况下保存的关键字要比BTree要多。所以读一次磁盘加载的关键字也比BTree多。 二十一、BTree和BTree的主要区别 首先BTree他的数据是存放在所有节点中而BTree只在叶子结点中。 BTree在查找时可能在任何节点停止而BTree只会在叶子节点中更加稳定。 BTree的叶子节点形成一条有序链表能够提高查询速率。 BTree在区间查找更胜一筹。 二十二、索引优化 可以通过对选择索引的字段来进行优化 尽量不选择数据大多为NULL的字段如果必须要用建议使用0、1、true、false来代替。 可以考虑被where条件查询的字段建立索引。 频繁需要排序的字段建立索引。 频繁用于连接的字段建立索引。 频繁需要更新的字段且又不常查询建议不要索引。因为每次更新数据都需要同步更新索引需要消耗资源。 尽量多使用联合索引而不是单例索引。因为一个联合索引可以代替多个单例索引能够减少空间维护的时间。 注意避免冗余索引比如一个联合索引已经包括一个单例索引但还是建了这个单例索引。 在字符串类型的字段建议使用前缀索引而不是普通索引因为前缀索引占用空间更小。 避免where子句中对所有字段使用函数容易导致索引失效。 二十三、MySql索引在什么情况下会失效 模糊查询时使用%开头会导致索引失效。 组合索引中包含不包含最左边字段索引会失效。 组合索引中范围搜索后的字段索引会失效。 数据类型不匹配导致索引失效。 使用!、、、not in 运算会失效。 字段内容为null导致索引失效。 or前后的条件有一个不包含索引会失效。 添加索引的字段上使用函数或者计算会导致索引失效。 二十四、SQL优化 禁止使用select *必须使用select 字段进行查询在SQL中明确查询字段名称。 考虑在where和order by的字段建立索引。 使用 explain语句观察sql执行计划。 防止索引失效第二十三条所有。 注本篇文章都是我自己的理解可能用词和语句不够严谨如有错误请评论指正谢谢持续更新中......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详细介绍:MySQL零基础学习Day4——多表查询

详细介绍:MySQL零基础学习Day4——多表查询pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

MetaGPT实战指南:构建模拟公司运营的多智能体系统 - 教程

MetaGPT实战指南:构建模拟公司运营的多智能体系统 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

2017网站建设报价单营销论坛网站建设

引言 在计算机科学中,数据结构和算法是构建高效软件系统的基石。而排序算法作为算法领域的重要组成部分,一直在各种应用场景中发挥着关键作用。今天我们将聚焦于一种基于插入排序的改进版本——希尔排序(Shell Sort),深…

Timeplus Enterprise 3.0 (Linux, macOS) - 流处理平台

Timeplus Enterprise 3.0 (Linux, macOS) - 流处理平台Timeplus Enterprise 3.0 (Linux, macOS) - 流处理平台 Revolutionize Streaming Analytics 请访问原文链接:https://sysin.org/blog/timeplus/ 查看最新版。原创…

《HelloGitHub》第 114 期

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣!简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖…

网站建设与准备乐清城市网官网

这阵子在捣鼓一个将游戏视频打包成本地可播放文件的模块。开始使用avi作为容器,弄了半天无奈avi对aac的支持实在有限,在播放时音视频时无法完美同步。 关于这点avi文档中有提到: For AAC, one RAW AAC frame usually spans over 1024 samples…

重庆网站推广网络推广申请建设部门网站的报告

大数据产业是以数据及数据所蕴含的信息价值为核心生产要素,通过数据技术、数据产品、数据服务等形式,使数据与信息价值在各行业经济活动中得到充分释放的赋能型产业。 大数据产业定义一般分为核心业态、关联业态、衍生业态三大业态。 一、专…

智能微电网 —— 如何无缝集成分布式光伏 / 风电? - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【鸿蒙生态共建】一文说清基础类型数据的非预期输入转换与兜底-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利 - 详解

【鸿蒙生态共建】一文说清基础类型数据的非预期输入转换与兜底-《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利 - 详解2025-09-28 08:16 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: p…

一级a做爰片免费网站体验区网站制造

2014年杭州电子科技大学Java期末试卷.doc杭州电子科技大学学生考试卷( A )卷考试课程Java语言程序设计考试日期2014年 6月 16日成 绩课程号教师号任课教师姓名考生姓名学号(8位)年级专业注意:所有答案均写在答卷上,写在试卷上无效;(一)单选题(每题2分&am…

青岛商城网站建设劳务公司注册需要什么条件

CMA实验室认可,即中国计量认证(China Metrology Accreditation)的实验室资质认定,以下是对其的详细解读: 一、定义与目的 CMA认证是经省级以上人民政府计量行政部门对实验室的计量检定、测试能力和可靠性考核合格后进…

网站建设资质要求贝壳找房官网 二手房

文章目录 1 函数原型2 参数3 返回值4 使用说明5 示例5.1 示例1 1 函数原型 strcat():将src指向的字符串拼接在dest指向的字符串末尾,函数原型如下: char *strcat(char *dest, const char *src);2 参数 strcat()函数有两个参数src和dest&am…

网站建设需要条件查询网域名解析

共享数据缓冲区 概述共享数据缓冲区管理共享缓冲区管理的核心功能包括:共享数据缓冲区的组织结构初始化共享缓冲池BufferDesc 结构体InitBufferPool 函数如何确定请求的数据页面是否在缓冲区中?BufferTag 结构体RelFileNode 结构体ForkNumber 结构体ReadBuffer_common 函数怎…

Splunk Enterprise 10.0.1 (macOS, Linux, Windows) - 搜索、分析和可视化,数据全面洞察平台

Splunk Enterprise 10.0.1 (macOS, Linux, Windows) - 搜索、分析和可视化,数据全面洞察平台Splunk Enterprise 10.0.1 (macOS, Linux, Windows) - 搜索、分析和可视化,数据全面洞察平台 Search, analysis, and visu…

基于51单片机宠物喂食系统设计 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

福建建设工程设计备案网站怎么推广公众号让人关注

1.hash类型介绍 可以理解为redis中的一个小型redis 2.v 3.hash数据类型的扩展操作 4.hash类型数据操作的注意事项

[Luogu 13345] EGOI 2025:IMO

先根据排序方案确定最终顺序。下文称第 \(i\) 个人为最终排名为 \(i\) 的那个人,其原始编号为 \(id_i\),总成绩为 \(v_i\)。 若第 \(i\) 个人公布了 \(c_i\) 道题,公布部分成绩为 \(s_i\),则可能成绩区间为 \([s_i…

广州金融网站设计wordpress 淘宝客主题

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 time.sleep(3) 固定等待3秒 driver.implicitly_wait(10) 隐性的等待,对应全局 WebD…

详细介绍:flutter 编译报错java.util.zip.ZipException: zip END header not found

详细介绍:flutter 编译报错java.util.zip.ZipException: zip END header not foundpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…