Database
文章平均质量分 72
码蹄疾
小米广告平台服务端开发。曾求学于哈尔滨工业大学,小米广告平台第3代引擎开发者,擅长java、计算广告、分布式、并发等多个领域。
展开
-
SQL In 和exists区别
in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。 如果查询的两个表大小相当,那么用in和exists差别不大。全文: in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。转载 2013-07-15 07:55:53 · 990 阅读 · 0 评论 -
24. 两两交换链表中的节点
知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回...原创 2018-07-14 07:57:43 · 633 阅读 · 0 评论 -
Redis数据结构(选型)
作者: 码蹄疾 毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发; 主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领域相关知识;String 这应该是应用最广泛的了,简单的 key-value 类型。value 不仅可以是 String,也可以是数字。还可以享受 Redis ...原创 2018-09-01 15:43:11 · 603 阅读 · 0 评论 -
【Leetcode】72.编辑距离
题目给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -> rose ...原创 2018-09-20 23:00:06 · 293 阅读 · 0 评论 -
【Leetcode】176. 第二高的薪水
题目编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果...原创 2018-10-28 10:01:54 · 289 阅读 · 0 评论 -
【Leetcode】175. 组合两个表
题目表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+Perso...原创 2018-10-26 08:40:08 · 352 阅读 · 1 评论 -
关于 MySQL 百万数据量的 count(*) 查询如何优化?
明确需求对这个问题有兴趣是源于一次开发中遇到要统计人数的需求。类似于“得到”专栏的订阅数。但是我的数据量比这个大很多,而对数据的准确性要求就不那么高。所以首先要明确需求。其他答案有的说了用缓存,有的答案对比了count(*)、count(1)的区别,都很好,但是我认为还是要看一下题主的场景。我根据我实际开发的经验总结如下几个方面,FYI。数据量大/准确性要求低/请求量大这种场景一般是...原创 2019-07-31 18:13:02 · 23247 阅读 · 12 评论