随笔分类 - 数据库
1
oracle,sqlserver,mysql
摘要:在数据库设计中,处理一对多关系时,是否使用逗号分隔的ID列表(也称为“序列化”或“规范化不足”的方法)或创建一个新的关联表来存储这些ID,是一个常见的决策点。 以下是两种方法的比较和考虑因素: 1. 使用逗号分隔的ID列表 优点: 简单易实现,特别是对于不熟悉数据库设计的开发者来说。 在某些简单的应
阅读全文
摘要:物理删除存在的问题: 1.历史数据关联不到删除的记录了。 假如A关联了B,如果物理删除了表记录B,那么A关联B的就会查询不到B的信息了。 比如之前查询A详情能查询到关联的B的数据,有一天B删除了,A再次查询详情查询不到关联的B的数据了。 2.级联删除存在问题。 假如需要级联删除,那么删除B就需要先关
阅读全文
摘要:参考: https://blog.csdn.net/hjxgood/article/details/52667741
阅读全文
摘要:mysql下载地址:https://downloads.mysql.com/archives/community/ 可以选择各个版本和对应系统版本下载。 安装步骤参考:https://blog.csdn.net/weixin_38239039/article/details/79629984
阅读全文
摘要:参考:https://www.cnblogs.com/xiufengchen/p/10970525.html 升级jar包即可。 这个使用的版本 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <v
阅读全文
摘要:最近项目发现同一个sql在java端执行比在数据库执行慢很多,原因可能是程序的sql参数类型与数据库字段的类型不一致。
阅读全文
摘要:1、默认 query_cache 是打开的 你使用 show global variables like '%query_cache%'; 确认一下有没有打开,如果打开了。第一次查询读数据文件,第二次就会走query_cache,所以就会很快。当然,如果数据更新了,要重新再缓存。 2、第二种情况 ,查询表引擎:show variables like '%storage_engine%',表引擎使...
阅读全文
摘要:getChildList: 传入参数递归查询。 getParent:
阅读全文
摘要:数据库三级范式: 第一范式:所有字段值都是不可分解的原子值。 第二范式:也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。 第三范式:每一列数据都和主键直接相关,而不能间接相关。 满足第一范式不一定满足第二范式;满足第二范式不一定满足第三范式;所以第一范式,
阅读全文
摘要:sql语句要快 1.不必要的列就不用查出来; 2作为查询的条件列设索引; 3.如果查询的表数据大于500万条数据,表创建之初就应该建立表分区,依据分表去查;最最重要的是传输给前台页面的数据量尽量简化减少传输量,比如时间数据最好不传,自己规定个顺序,依据顺序前台生成对应的时间; 非要传可转为毫秒数去掉
阅读全文
摘要:1.查询登录人是产品经理有权限查看的产品 sql1: sql2:
阅读全文
摘要:sql中计算百分比:(转成字符串然后拼接%) 效果:
阅读全文
摘要:MySQL查询结果复制到新表(更新、插入): MySQL中可以将查询结果复制到另外的一张表中,复制的话通常有两种情况,一种是更新已有的数据,另一种是插入一条新记录。下面通过例子来说明。首先构建两个测试表。 表t1: 表t2: 1、如果t2表中存在score值,将score更新到t1表中。方法如下:
阅读全文
摘要:mysql索引创建、查看、删除及使用示例 1.创建索引: ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。 CREATE INDEX可对表增加普通索引或UNIQUE索引。 2.删除索引: 3.查看索引: SQL代码在线格式化美化工具:http://tools.j
阅读全文
摘要:注:(不全面需要更新补充) 1.尽量不使用select * ,查询什么字段select什么字段;2.尽量不使用 in 效率很低;3.冗余字段,减少关联查询,提高查询效率;4.建立索引,提高查询效率; 5.用EXISTS替代IN、用NOT EXISTS替代NOT IN (高效)SELECT * FRO
阅读全文
摘要:转自:http://blog.csdn.net/jetjetlinuxsystem/article/details/6663218 Left Join, Inner Join 的相关内容,非常实用,对于理解原理和具体应用都很有帮助! left join 是left outer join的简写,left join默认是outer属性的。 Inner Join Inner Join 逻辑运...
阅读全文
摘要:数据库索引好比是一本书后的索引,能加快数据库的查询速度。 例如这样一个查询:SELECT * FROM TABLE1 WHERE ID=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44,就可以得知这一行的位置,也就是找到了这一行。 可见,索引是用来定位的。 索引分为聚簇索引和非聚簇索引两种,聚簇索引...
阅读全文
摘要:张三 语文 100 张三 数学 83 李四 语文 88 李四 数学 100 查询每个学生的最高成绩. select b.* from (select name,max(score) score from course GROUP BY name) a left join course b on a.`name`=b.`name` and a.score=b.score; 感觉有点...
阅读全文
1
浙公网安备 33010602011771号