首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

业务建模美团搜索排序的实践

美团搜索排序是一个典型的业务混合排序建模问题,一个典型的业务搜索场景是当用户搜索地点,如 “望京” 的时候,用户的需求不是很明确,此时搜索的结果页如下图 1 所示,下方的商家列表中会包含望京附近餐饮...本文分享了美团搜索业务排序建模优化工作,我们主要聚焦在到店商家业务场景,后续的内容会分为以下四个部分:第一部分是对美团搜索排序分层架构进行简单介绍;第二部分会介绍多路融合层上的业务融合建模;第三部分会介绍精排模型的业务排序建模...这种基于配额对多路召回结果进行合并的做法搜索、推荐场景十分常用,比如淘宝首页搜索、美团推荐等。 为了多路召回的灵活接入,适配美团搜索业务的发展,我们不断迭代搜索配额模型。...精排层多路融合层的基础上进一步对业务搜索结果进行精细化排序建模打分。...Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction [6] Transformer 美团搜索排序的实践

90130

Excel公式技巧21: 统计至少满足条件的行数

在这篇文章,探讨一种计算在至少一满足规定条件的行数的解决方案,示例工作表如下图1所示,其中详细列出了各个国家不同年份废镍的出口水平。 ?...下面,考虑希望得出的结果涉及的数不只是两,甚至可能是的情况。例如,假设要确定从2004年到2012年每年至少有一个数字大于或等于1000的国家的数量。...如下图3所示,我们可以工作表中标出满足条件的数据,除了2个国家外,其他11个国家都满足条件。 ?...然而,公式显得太笨拙了,如果考虑的数不是9而是30,那会怎样! 幸运的是,由于示例区域是连续的,因此可以单个表达式查询整个区域(B2:J14),随后适当地操纵这个结果数组。...并且,由于上述数组(一个13行乘9的数组)包含9,因此我们用来形成乘积的矩阵的行数必须等于该数组的数。

3.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

【DB笔试面试639】Oracle,什么是统计信息(Extended Statistics)?

♣ 题目部分 Oracle,什么是统计信息(Extended Statistics)?...因此使用何种方法收集统计信息是很有讲究的:对于数据倾斜度较大的表需要收集直方图,在此基础上如果有多个存在相关性,那么统计信息(也叫扩展统计信息)收集又是一个更好的选择。...在一般情况下,SQL语句的WHERE子句后面针对单张表都有多个条件,也就是根据条件筛选得到数据。...为了能够让优化器做出准确的判断,从而生成准确的执行计划,Oracle11g数据库引入了收集统计信息。...统计信息包含组统计信息(Column Group Statistics)和表达式的统计信息(Expression Statistics)。

2.5K20

Excel公式技巧14: 主工作表中汇总多个工作表满足条件的值

《Excel公式练习32:将包含空单元格的多行单元格区域转换成单独的并去掉空单元格》,我们讲述了一种方法,给定由多个组成的单元格区域,从该区域返回由所有非空单元格组成的单个。...可以很容易地验证,该公式的单个条件可以扩展到多个条件,因此,我们现在有了从一维数组和二维数组中生成单列列表的方法。 那么,可以更进一步吗?...“三维”是经常应用于Excel特定公式的通用术语,这些公式不仅可以对单列或单行进行操作,也可以对由或多行组成的单元格区域进行操作,还可以有效地对多个工作表进行操作。...本文提供了一种方法,在给定一个或多个相同布局的工作表的情况下,可以创建另一个“主”工作表,该工作表仅由满足特定条件的所有工作表的数据组成。并且,这里不使用VBA,仅使用公式。...包含“Y”的数量一致。

8.8K21

【DB笔试面试677】Oracle,对于一个NUMBER(1)的,若WHERE条件是大于3和大于等于4,这二者是否等价?

♣ 题目部分 Oracle,对于一个NUMBER(1)的,如果查询的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? ♣ 答案部分 首先对于查询结果而言,二者没有任何区别。...ID">=4”,所以,非SYS用户下,最终的执行计划中会有“filter(NULL IS NOT NULL)”的谓词条件。...③ 使用物化视图的过程,大于3会同时扫描物化视图和原表,效率较低;而大于等于4会直接扫描物化视图,效率较高。...对于后者,由于查询的条件违反了CHECK约束,因此Oracle执行计划前面增加了一个FILTER,使得整个查询不需要在执行,因此这个查询不管表数据有多少,都会在瞬间结束。...如果以后一旦字段的结构发生了修改,比如这个例子字段的允许出现小数,那么这两个SQL的WHERE条件就不再等价了。 若表属于SYS用户,则这二者的执行计划是相同的。

2.3K30

MySQL 查询专题

, where 改成 on select xxx from 表A inner join 表b on 条件1=xxx 自然版 sql 的一对一, 对多关系 子查询 有多个 select 关键字 可以出现的位置...表名2 别名2 where 条件) 单行 select * from 表1 别名1 where (1, 2) in (select 1, 2 from 表2 别名2 where 条件)...很少见, 看上去像对象 多行 select * from 表1 别名1 , (select ... ) 别名2 where 条件 所谓的连接是有针对性的找出关联关系 全文搜索 用基于文本的搜索作为正则表达式匹配值的更进一步的介绍...例如,一个特殊词的搜索将会返回包含该词的所有行,而不区分包含单个匹配的行和包含多个匹配的行(按照可能是更好的匹配来排列它们)。类似,一个特殊词的搜索将不会找出不包含该词但包含其他相关词的行。...所有这些限制以及更多的限制都可以用全文本搜索来解决。使用全文本搜索时,MySQL不需要分别查看每个行,不需要分别分析和处理每个词。MySQL 创建指定各词的一个索引,搜索可以针对这些词进行。

5K30

数据库查询优化——Mysql索引

利用索引,MySQL加速了WHERE子句满足条件行的搜索,而在多表连接查询时,执行连接时加快了与其他表的行匹配的速度。...索引的类型 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、索引和空间索引等。 1.普通索引 创建普通索引时,不附加任何限制条件。...默认情况下,全文索引的搜索执行方式不区分大小写。但索引的使用二进制排序后,可以执行区分大小写的全文索引。 4.单列索引 的单个字段上创建索引。单列索引只根据该字段进行索引。...5.索引 索引是表的多个字段上创建一个索引。该索引指向创建时对应的多个字段,可以通过这几个字段进行查询。但是,只有查询条件中使用了这些字段第一个字段时,索引才会被使用。...例如,的id、name和sex字段上建立一个索引,那么,只有查询条件使用了id字段时该索引才会被使用。 6.空间索引 使用SPATIAL参数可以设置索引为空间索引。

5.4K30

MySQL Access Method 访问方法简述

把这种搜索条件为二级索引与常数等值比较,采用二级索引来执行查询的访 问方法称为: ref二级索引 clomn value = null 这种情况不论是普通的二级索引,还是唯一二级索引,它们的索引包含...NULL 值的数量并不限制,所以我们采用 key IS NULL 这种形式的搜索条件最多只能使用 ref 的访问方法,而不是 const 的访问方法包含多个索引的二级索引 只要是最左边的连续索引是与常数的等值比较就可能采用...搜索条件只有 key_part2 。这个包含在索引 idx_key_part 。...这里需要特别提醒大家的一点是,因为二级索引的节点中的记录只包含索引和主键,所以步骤1使用 idx_key1 索引进行查询时只会用到与 key1 列有关的搜索条件,其余条件,比如 key2 > 1000...条件如下:二级索引是等值匹配的情况,对于联合索引来说,联合索引的每个都必须等值匹配,不能出现只出现匹配部分列的情况主键可以是范围匹配使用 Intersection 索引合并的搜索条件 就是搜索条件的某些部分使用

23431

MySql学习——MySql的索引详解

那如果我们想以别的列作为搜索条件该咋办呢?这时就可以建几棵B+树,不同的B+树的数据采用不同的排序规则,这就是二级索引。...2.3 联合索引 我们也可以同时以多个的大小作为排序规则,也就是同时为多个建立索引,比方说我们想让B+树按照c2和c3的大小进行排序,这个包含两层含义: 先把各个记录和页按照c2进行排序。...MySql的索引的使用条件 全值匹配:如果我们的搜索条件和索引一致的话,这种情况就称为全值匹配 匹配左边的我们的搜索语句中也可以不用包含全部联合索引,只包含左边的就行。...索引的访问方式 MySql执行查询语句时,查询的执行方式大致分为两种: 使用全表扫描进行查询 这种执行方式很好理解,就是把表的每一行记录都扫一遍嘛,把符合搜索条件的记录加入到结果集就完了。...搜索条件只有key_part2。这个包含在索引idx_key_part

2K20

MySql学习——MySql的索引详解

那如果我们想以别的列作为搜索条件该咋办呢?这时就可以建几棵B+树,不同的B+树的数据采用不同的排序规则,这就是二级索引。...2.1.2 联合索引 我们也可以同时以多个的大小作为排序规则,也就是同时为多个建立索引,比方说我们想让B+树按照c2和c3的大小进行排序,这个包含两层含义: 先把各个记录和页按照c2进行排序。...2.3 MySql的索引的使用条件 全值匹配:如果我们的搜索条件和索引一致的话,这种情况就称为全值匹配 匹配左边的我们的搜索语句中也可以不用包含全部联合索引,只包含左边的就行。...特殊情况: 二级索引值为NULL的情况 不论是普通的二级索引,还是唯一二级索引,它们的索引包含NULL值的数量并不限制,所以我们采用key IS NULL这种形式的搜索条件最多只能使用ref的访问方法...搜索条件只有key_part2。这个包含在索引idx_key_part

1.3K30

架构面试题汇总:mysql索引全在这!(五)

考虑索引的顺序:索引的顺序很重要。应将查询中最常用作搜索条件、过滤条件或排序条件放在索引的前面。...答案: 联合索引是MySQL中一种特殊的索引类型,它允许你多个列上创建一个索引。联合索引基于多个的值进行排序和存储,可以高效地处理涉及这些的查询条件。...联合索引以下场景下特别有用: 查询条件:当查询条件涉及多个时,使用联合索引可以显著提高查询性能。...答案: 使用索引时,以下是一些常见的性能优化建议: 选择性高的优先:选择索引时,应优先考虑选择性高的(即唯一值),因为它们可以提供更多的过滤条件并减小扫描范围。...答案: EXPLAIN命令的输出包含信息,每都提供了关于查询执行的不同方面的细节。以下是一些常见的解释: id:查询的标识符,用于区分多个子查询。

16310

mysql复合索引、普通索引总结

于是上网查了下相关的资料:(关于复合索引优化的) 两个或更多个列上的索引被称作复合索引。 利用索引的附加,您可以缩小搜索的范围,但使用一个具有两的索引不同于使用两个单独的索引。...所以说创建复合索引时,应该仔细考虑的顺序。对索引的所有执行搜索或仅对前几列执行搜索时,复合索引非常有用;仅对后面的任意执行搜索时,复合索引则没有用处。...复合索引的建立原则: 如果您很可能仅对一个多次执行搜索,则该应该是复合索引的第一。如果您很可能对一个两索引的两个执行单独的搜索,则应该创建另一个仅包含第二的索引。...包含多个的主键始终会自动以复合索引的形式创建索引,其的顺序是它们表定义中出现的顺序,而不是主键定义中指定的顺序。考虑将来通过主键执行的搜索,确定哪一应该排在最前面。...如:一个索引为 (col1 ,col2, col3) 那么索引 (col1) 、(col1 col2) 、(col1 col2 col3) 的搜索会有作用。

2.7K20

mysql 系列:搞定索引

拿到这一行的定位信息后,就可以将数据和定位信息做关联了。下次想查找这个字段所对应的行数据时,就可以先到关联信息里搜索,拿到定位信息后直接查找即可。...当我们有多个查询选项,多个查询条件就不一定能发挥作用了,所以索引的使用是有注意事项的,下面总结了一些: where 里最经常用到的查询字段才建索引,能利用主键 id,就用主键 id 来增删改查 按最左匹配原则...,将多个单列索引改为复合索引,减少维护量 尽量挑选择度高,也就是重复率低的列作为索引,像性别这种就不适合了,会在 B+ 树里做多层次范围的搜索,还不如全表扫描呢 查找时,不对索引做函数计算,否则不能使用到索引...查询条件尽量用 union 来取代 or like 用法: ‘%’ 这样还是可以用到索引的,'%%' 就不行了 IS NULL,IS NOT NULL 是用不到索引的 order by,group...全文索引 全文索引主要是用于文档查找,像我们可能会从篇文章查找包含某些词语的文章,这时就可以使用全文索引了。虽然 like 也可以使用,但是效率太低了。

85500

SQL必知必会总结1-第1到7章

多个排序 实际的需求,我们经常会遇到根据多个进行排序。比如根据员工的姓名排序,如果姓相同,再根据名字进行排序。 要按多个进行排序,指定列名即可,列名之间使用逗号隔开。...数据库中一般存在大量的数据,一般我们只需要检索表少量的行。只检索所需数据需要指定搜索条件搜索条件也称之为过滤条件。...AND...联合使用 空值检查 当我们创建表的时候,可以指定其中的是否包含空值。一个包含值时,称其包含空值NULL。...笔记:由字面值、通配符或者两者组合构成的搜索条件。 为了搜索子句中使用通配符,必须使用LIKE操作符 ⚠️通配符搜索只能用于文本字段(字符串),对于非文本数据类型不能使用通配符搜索。...的名字 包含一个空格和一个左圆括号的字符串 存在vend_country的国家 包含一个右圆括号的字符串 小知识:MySQL如何去掉空格?

2.5K31

数据库有哪些索引

这个过程称为回表 可以看到,基于二级索引的查询需要扫描一颗索引数,因此,尽量使用主键查询。...当 SQL 语句所求查询字段 (select )和查询条件字段(where) 全都包含在一个索引(联合索引), 可以直接使用索引而不需要回表,这个就是覆盖索引。...联合索引 某一上加索引以提升相关语句查询效率,联合索引就是多个列上加索引。...唯一索引 唯一性索引允许空值,而主键不允许为空值。 主键创建时,已经默认为非空值 + 唯一索引了。 主键可以被其他表引用为外键,而唯一索引不能。...), 可以索引遍历过程,对索引包含的字段先做判断,直接过滤掉不满足条件的记录,减少回表次数 不使用索引下堆: 根据(username,is_del)联合索引查询所有满足名称以“张”开头的索引,然后回表查询出相应的全行数据

2.1K50

Mysql优化-索引

单一索引是指索引列为一的情况,即新建索引的语句只实施上; 用户可以多个列上建立索引,这种索引叫做复合索引(组合索引); 禁用缓存 因为我们要测试添加索引的效果,所以就先禁用缓存,防止影响测试结果...如果是,则可以建立复合索引;否则考虑单字段索引; 如果复合索引包含的字段经常单独出现在Where子句中,则分解为多个单字段索引; 如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段...复合索引,索引第一位的column很重要,只要查询语句包含了复合索引的第一个条件,基本上就会使用到该复合索引(可能会使用其他索引)。我们在建符合索引的时候应该按照column的重要性从左往右建。...生效规则 索引发挥作用,需要满足左前缀要求 只要包含第一个条件,索引都生效,跟顺序无关 以index(a,b,c)为例 语句 索引是否发挥作用 where a=3 是 where a=3 and...或者主键、唯一索引,使用第一个之外的列作为等值查找也会出现,总之,返回数据不唯一的等值查找就可能出现。

1.3K50

浅谈Mysql索引

特点: 关键字分布B树所有节点。 关键字不会重复出现在多个节点。 搜索可能在非叶子节点就结束。...B+树 B+树实际上是一种特殊的B树,和B树感官最明显的一个不同点在于B+树关键字只会出现在叶子结点中,并且关键字链表是有序的,也就是B+树的搜索最后只会在叶子结点中命中结果,那非叶子结点在B+树充当什么角色呢...组合索引 选中数据表的组合然后创建索引,但是组合索引并不是说创建成功都可以被使用,而是需要遵循最左前缀集合。也就是只有查询条件中使用了这些字段的左边字段,组合索引才会生效。...全文索引 全文索引其实就是字面意思,使用全文索引可以一连串文字通过某个关键词,就可以找到包含字段的记录行。...索引尽量添加在数据量比较少的列上面,比如varchar(100)检索效率肯定没有varchar(30)来得快,所以说数据量添加索引查询效率会更慢。

47120

mysql联合索引的理解

两个或更多个列上的索引被称作复合索引。 利用索引的附加,您可以缩小搜索的范围,但使用一个具有两的索引 不同于使用两个单独的索引。...所以说创建复合索引时,应该仔细考虑的顺序。对索引的所有执行搜索或仅对前几列执行搜索时,复合索引非常有用;仅对后面的任意执行搜索时,复合索引则没有用处。...索引名index_name可选,缺省时,MySQL将根据第一个索引赋一个名称。另外,ALTER TABLE允许单个语句中更改多个表,因此可以同时创建多个索引。...3,索引不会包含有NULL值的 只要包含有NULL值都将不会被包含在索引,复合索引只要有一含有NULL值,那么这一对于此复合索引就是无效的。...因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个的排序,如果需要最好给这些创建复合索引。

1.5K20
领券