数据库
文章平均质量分 78
快来和我一起学数据库
从未止步..
努力努力再努力!
展开
-
MYSQL进阶部分知识点汇总~
验证索引效率:我们可以在未创建索引之前执行一条SQL语句,查看它的耗时,然后建立索引之后再去查看一次。创建索引的过程就是创建B+树的过程,如果该字段涉及的数据量很大的话,创建的过程也是非常耗时的。原创 2024-04-24 08:55:43 · 647 阅读 · 4 评论 -
实现MySQL分页查询的三种方式~
第一种方法: **使用LIMIT和OFFSET关键字****第二种:使用LIMIT关键字简化写法:****第三种:使用子查询:limit为需要查询的记录条数,offset为从第几条记录开始**原创 2024-03-16 15:16:09 · 477 阅读 · 4 评论 -
为什么MySQL用B+树做索引而不使用其他的数据结构呢?
但如果我们要在数组中间的任意一个位置插入一个数据,那么必然会引起该位置后面所有数据位置的变化,也就是涉及到了数组的复制,而插入的位置越往前,所需要复制的数据就越多,该过程不仅需要消耗大量的内存,而且还会浪费大量的时间,因此。,所以这中间会发生磁盘IO,而如果树的高度太高,每遍历一层结点时,就需要从磁盘读取一次数据,也就是发生一次 IO,假设数据在树高为 20 的地方,那查找一次数据就得发生 20 次 IO,耗时太长了。and,>=,原创 2023-12-20 10:25:47 · 427 阅读 · 1 评论 -
一篇文章学会学会c3p0数据库连接池~
此外,C3P0还支持连接检测和连接超时功能,可以检测不可用的连接并将其从连接池中移除。使用C3P0数据库连接池可以有效地管理数据库连接,减少频繁创建和关闭连接的开销,以提高应用程序的性能和可扩展性。它支持JDBC驱动程序,并提供了一些高级功能,如连接池自动回收、连接检测、连接超时等。它可以在应用程序启动时,创建一定数量的数据库连接,并在需要时将连接分配给应用程序。当应用程序使用完连接后,它可以将连接返回到连接池中进行复用,而不是直接关闭连接。C3P0的配置相对简单,可以通过配置文件或编程方式进行设置。原创 2023-09-06 18:48:39 · 127 阅读 · 0 评论 -
MySQL基础下篇[表的创建/约束的使用/事务和范式以及索引的使用]~
一对多,两张表,多的表加外键多对多,三张表,关系表两个外键一对一:在实际的开发中,可能存在一张表字段太多,太庞大,这个时候需要拆分举例:未拆分的一张表:一对一,外键唯一数据库设计三范式是理论上的,实践和理论有的时候有偏差,最终的目的都是为了满足客户的需求,有的时候会拿冗余换执行速度,因为在sql当中,表和表之间连接次数越多,效率越低(笛卡尔积),有的时候可能会存在冗余,但是为了减少表的连接次数,这样做也是合理的,并且对于开发人员来说,sql语句的编写难度也会降低。原创 2022-10-16 19:00:30 · 1830 阅读 · 0 评论 -
Mysql基础中篇[数据库的使用和数据查询]~
以上关键字只能根据这个顺序,不能进行先后颠倒综合应用:= 'C语言程序设计' group by cosname having avg(score) > 85 order by avg(score) desc;根据查询结果,我们会发现,这样的查询是毫无意义的,为什么会这样说呢?原因是我们是根据课程进行分组,,但学生姓名和课程名之间完全没有关联,这样毫无意义的语法虽然在MySQL中可以正常查询,但是在Oracle中是没办法执行的,那么也就说明`Oracle的语法比MySQL更为严谨一些`原创 2022-09-17 19:41:51 · 1885 阅读 · 0 评论