ARTS (第6周)
即使生活再忙碌也不能忘记学习。
即使生活再忙碌也不能思考未来。
Algorithm 算法
删除数据重复项
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/submissions/
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
做法:
定一个一个坐标,从第2个数字开始,从前往后遍历,当前数字和前一个的数字不相同的时候,就进行重新赋值的操作,题目要求是不管重复的数据如何,并且因为这是顺序执行的,所以有用的数据不会有数据丢失的情况。
1 |
|
Review 英文文章
https://hive.apache.org/ 简单的介绍了hive。
Tip 技巧
极客时间的专栏《数据结构与算法之美》
本周学习了该专栏中的15-16篇
学习了二分法以及复杂情况下的二分法。
出处:《数据结构与算法之美》(作者:王争)
https://time.geekbang.org/column/intro/126
sqlserver 递归查询
参考地址
https://blog.csdn.net/johnf_nash/article/details/78681060
使用:
1 | with temp2 ( [id], [pid],[name]) |
表结构为一个简单的树结构,有id,name,pid三个字段,pid为父ID,id为主键,name为名字。
数据为:
id pid name
1 NULL n1
2 1 n2
3 1 n3
4 1 n4
5 2 n5
6 2 n6
7 5 n7
执行结果:
id pid name
7 5 n7
5 2 n5
2 1 n2
1 NULL n1
sqlserver链接服务器
如何使用:
https://blog.csdn.net/enweitech/article/details/80570735
链接服务器部分问题的解决方案:
https://blog.csdn.net/tao2581/article/details/7484677
Share 分享
https://www.cnblogs.com/onepixel/articles/7674659.html
sql优化:
1.采用横切割纵切割适度冗余
2.减少表关联查询,避免过多的联查
3.建立索引,不过最多6个 因为索引也要占用一定的物理存储空间,而且索引也需要动态维护,索引过多就会降低增删改的速度,具体可以使用sql执行计划看看注意索引失效
4.避免在 where 子句中对有索引的字段进行运算,
5.Sql语句字段尽量大写
6.oracle外键必须加索引
7.用NOT EXISTS 或者(外连接+判断为空)替换 NOT IN 操作符
8.通过rowid删除重复记录
9.大数据量的模糊匹配时可以考虑使用solr或者es