首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏老虎刘谈oracle性能优化

    区间检索SQL优化--续

    在2017-07-16的文章 区间检索SQL性能优化方法 中,我使用了创建function的方式,来解决匹配不到区间时的buffer gets过多的性能问题。 最近在解决一个客户的多表关联区间检索问题时,又琢磨了一下,发现还是可以直接使用SQL,替代原来的function,SQL还真是博大精深啊。 COUNTRY_CODE FROM COUNTRY_IP_RANGE WHERE end_ip1 >:B1 and start_ip1 <= :B1 and rownum=1; 优化写法,原function的替代SQL 注: 变量如果超出COUNTRY_IP_RANGE表end_ip1的最大范围,sql会返回"no rows selected";最大范围内匹配不到区间,则返回"no_match"(这与普通写法不一样 索引失效时sql可以慢,但是不可以出错。

    35230编辑于 2022-06-22
  • 来自专栏老虎刘谈oracle性能优化

    区间检索SQL性能优化方法

    几年前,有朋友让我帮忙优化一个SQL:根据IP地址查询对应的国家/地区(根据号码查询归属地也属类似业务)。 SQL代码如下: Select country_code From COUNTRY_IP_RANGE IP WHERE IP.Start_Ip1 <= ip_to_number1(:ip) AND SQL每次最多只返回一条记录。 但是光靠SQL本身已经无能为力。 老虎刘会把那些年优化的SQL(有代表性的)总结出来与SQL优化爱好者分享

    53320编辑于 2022-06-22
  • 来自专栏数据和云

    区间检索SQL性能优化方法

    个人微信公众号:sql_tigerliu. 几年前,有朋友让我帮忙优化一个SQL:根据IP地址查询对应的国家/地区(根据号码查询归属地也属类似业务)。 SQL代码如下: Select country_code From COUNTRY_IP_RANGE IP WHERE IP.Start_Ip1 <= ip_to_number1(:ip) AND SQL每次最多只返回一条记录。 优化方法 1、首先根据业务规则,增加一个rownum=1的谓词条件,SQL变成: Select country_code From COUNTRY_IP_RANGE IP WHERE IP.Start_Ip1 但是光靠SQL本身已经无能为力。

    1.3K60发布于 2018-03-07
  • 来自专栏bisal的个人杂货铺

    SQL Server检索SQL和用户信息的需求

    Oracle中如果需要知道一条SQL是谁执行的,可以通过v$sql的parsing_schema_name字段得到登录的schema名称,相当于SQL和会话登录信息是有绑定的。 但是最近有个SQL Server的需求,需要知道历史SQL的执行者。 如下SQL,可以找到当前SQL Server跑过的SQL,但是没用户信息, SELECT p.refcounts, p.usecounts, sqltext.text  FROM sys.dm_exec_cached_plans 咨询了大师,给到的回复是,SQL Server不能通过DMV视图来查询某一个会话执行过的历史SQL,只能采集当前会话正在执行的SQl,不断采集然后保存下来才行。 无论从监控粒度,还是数据统计的角度,SQL和用户信息关联检索还是有用的,可以做到更精细的控制,不太清楚为什么微软官方没给出这样的设计,或者有其他隐藏的功能?

    1.7K30编辑于 2022-04-23
  • 来自专栏铭毅天下

    Elasticsearch 8.X 向量检索和普通检索能否实现组合检索?如何实现?

    更多向量检索的先验知识,推荐大家阅读: 干货 | 详述 Elasticsearch 向量检索发展史 高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索 Elasticsearch:普通检索和向量检索的异同? Elasticsearch 8.X “图搜图”实战 2、一边实战,一边验证 如下所有验证都是在 Elasticsearch 8.11.0 集群环境下完成的。 结论:并列组合检索不可行。 2.3.2 方式二:大 BOOL 组合写 按照常规逻辑的 bool 组合检索,结果发现:并不支持! 基于已有的常识组合检索是一种方式,更快的方式是结合官方文档探究。 我们既定认为的检索方式,不见得是官方推荐的方式。

    1.6K10编辑于 2024-04-11
  • 来自专栏GreenLeaves

    SQL学习之空值(Null)检索

    这个时候我们需要检索CheckValueString列为NULL值,ResultRemarks(该字段为空的记录) 我会这么写代码 select * from T_Check_InfoDetail where

    2.5K90发布于 2018-01-24
  • SQL入门教程(2):怎么用SQL做基础信息检索?

    在上一篇文章中,我们介绍了 SQL(结构化查询语言)的基本概念,以及它在用户研究中的重要作用。 今天,我们将深入了解 SQL 的基本语法,并通过实际应用场景帮助你更好地理解如何使用 SQL 提取和分析数据。 对于刚开始学习 SQL 的用户研究者来说,掌握这些基础语法和应用技巧,将为你的数据分析工作奠定坚实的基础。 1.SQL基础语法SQL 是一种声明性语言,意味着你只需要告诉它你想做什么,SQL 会帮你去做。在 SQL 中,常用的语法主要包括数据查询、数据过滤、数据排序、数据分组等基本操作。 掌握 SQL 的基本语法和应用场景后,你将能够更精准地分析用户数据,得出有价值的研究结论。无论是用户行为分析、用户细分、留存率分析,还是满意度调查,SQL 都是你必不可少的工具。

    62910编辑于 2024-12-05
  • 来自专栏bisal的个人杂货铺

    SQL Cookbook》 - 第一章 检索数据

    朋友推荐了一本书《SQL Cookbook》,翻译过来就是《SQL经典实例》,讲的都是SQL编写层面的案例,例如获得随机数、NULL值判断、求中位数、日期计算等,都是日常工作中可能用到的,但是有些知识点可能稍微模糊 ,用的时候,得琢磨下,或者有些知识点不了解,你不知道通过SQL还可以实现某个功能,借此机会,系统回顾一下SQL相关的开发技能,争取了解之前不知道的,巩固之前模糊的知识点,跟大家共享读书笔记。 第一章 检索数据 1. 在SELECT语句中指定具体的列名,可以确保查询语句不会返回无关的数据。当在整个网络范围内检索数据时,这样做更重要,因为他避免了将时间浪费在检索不需要的数据上。 2. 新的列名被称作别名,他会让检索结果更易于理解,对于一些数据库,可以省略AS关键字,但所有的数据库都支持这个关键字。 3. COALESCE函数更加方便、更简洁, select case        when c is not null then c        else 0        end from emp; 8.

    1.2K20发布于 2021-09-06
  • 来自专栏大数据杂货铺

    使用检索增强生成 (RAG) 增强 SQL 代理

    在上一篇文章中,我们深入探讨了构造 SQL 代理的过程,以帮助我们通过查询数据库中的数据来回答问题。在本文中,我们将探讨如何通过合并高级分析功能来增强 SQL 代理的功能。 查询语法如下: SELECT target_id, reference_id, distancetype, CAST(distance AS DECIMAL(36,8)) AS distance 检索增强生成 (RAG) 为了便于您的代理了解如何使用这些功能,我建议采用一种称为检索增强生成 (RAG) 的技术。 此方法有助于根据查询查找相关说明。 此外,我们还讨论了创建一个 RAG 来检索相关的语法指令信息。现在,让我们探讨如何无缝集成这两个组件。 RAG 作为工具 在这篇博客中,我详细介绍了 如何利用SQL 代理与数据库交互等工具。 原文链接:https://medium.com/@lucnguyen_61589/enhancing-sql-agents-with-retrieval-augmented-generation-rag-e20dbd8bb685

    1.1K10编辑于 2024-04-02
  • 来自专栏Tripod

    SQL检索MongoDB的轻量级解决方案

    关于使用SQL访问MongoDB的解决方案,网络上已经可以查到很多。 本文将介绍一种由MOQL-Transx开源项目提供的采用sql检索MongoDB的轻量级解决方案。 MOQL-Transx是一个致力于减少开发者学习成本,用SQL语法检索各类数据库的开源项目。 项目包括两个模块,moql-translator用于完成从MOQL(SQL92语法子集)到各类数据库DSL的翻译;moql-querier用于完成对各类数据库以SQL语言检索并获得二维结果的输出。 由于MongoDB并没有一个完整意义上的DSL,故本文介绍的部分主要是使用moql-querier中的MongoDBQuerier类来完成对MongoDB的检索

    1.6K20编辑于 2022-02-28
  • 来自专栏奔跑的人生

    8. 检索系统配置&依赖

    工作流程 项目依赖 <dependencies> <dependency> <groupId>org

    53710发布于 2019-09-10
  • 来自专栏bisal的个人杂货铺

    SQL中用到LIKE模糊检索的几种优化场景

    SQL开发中经常会碰到使用LIKE模糊检索的场景,'%'的位置,可能影响索引的正常使用,看到刘老师公众号的一篇文章,介绍了相关场景的改造策略,非常受用,推荐阅读。 ,无法直接通过索引定位数据,只是因为检索列只有object_name,所以用到的是索引快速全扫描,实际还是扫描的所有索引叶子节点, 为了说明清楚,我们检索object_id列,他不在索引中, select (3) ABC在字符串中位置不固定,可以通过改写SQL进行优化。 第一种情况,ABC始终从字符串开始的某个固定位置出现。 可以通过substr函数截取字符串的功能,创建函数索引。 substr(object_name, 1, length(object_name)-4)) like reverse ('%BISAL'); 第三种情况,ABC在字符串中位置不固定,可以通过改写SQL 但是这种IN改写,如果子查询返回的记录数较少,执行效率就可能提高了N倍,但如果较多,改写的效率,可能和之前相差不大了, 虽然以上的'%'有各种改造的方案,但至少都得改写一些SQL,所以还是建议,从需求层面

    2.2K10编辑于 2022-02-18
  • 来自专栏铭毅天下

    Elasticsearch 8.X 检索实战调优锦囊 001

    检索锦囊 1:尽可能的使用缓存 对于精准匹配的查询,不关注评分结果,只关注数据是否满足检索需求。 可以考虑用 filter “包裹一层”,如处理时间范围检索,Elasticsearch 能缓存部分结果。但,要说明的是更换时间窗口,换不同时间段检索,原有缓存不起作用。 https://lucene.apache.org/core/8_0_0/core/org/apache/lucene/codecs/lucene80/package-summary.html https ,会减少了检索线程池的占用情况。 ://medium.com/teads-engineering/practical-elasticsearch-performance-tuning-on-aws-8c08066e598c 我做了细节展开解读

    1.5K20编辑于 2022-09-26
  • 来自专栏网安菜鸟成长记

    sql-labs-less8|SQL注入,脚本注入

    前言: 此篇为sql-labs系列less-8,这一关使用脚本盲注,使用的sql语句跟第五关差不多,脚本写的比较烂,我也是第一次写,很基础,如果你也不会写的话可以参考一下。 本关如果注入语句执行成功页面就会显示You are in ……,如果注入语句没有被数据库执行页面无任何回显 请参考脚本: import requests url = "http://localhost/sql-labs /Less-8/? 127是ascii值对应的字符 payload = "and ascii(substr(database(),%d,1))=%d --+"%(i,j) #sql (url1) #获取sql注入生成后的页面 if "You are in..........." in res.text: #因为

    1.4K10发布于 2020-10-28
  • 来自专栏铭毅天下

    Elasticsearch 8.X:这个复杂的检索需求如何实现?

    匹配度计算逻辑: 关键词有序排列 ,权重依次降低,即排列在前的关键词权重最高,依此降低;检索顺序和结果顺序一致的排在前面。 需求 1:检索顺序和结果顺序一致的排在前面。 需求 2:title(question)较content(answer)权重高,比如权重高10倍。 需求 3:词频(关键词出现次数)越高,匹配度越高。 针对需求 3,这个 TF-IDF 机制决定的,检索后结果自然满足,也就是评分逻辑就是基于这个实现的(后续升级为BM25模型,原理一致),咱们不用动就可以。 针对需求 4,加个时间排序就可以。 4、需求 1 实现讨论 针对需求1,通常在 Elasticsearch 里,检索顺序和结果顺序一致的功能是相对复杂的,尤其是当查询涉及多个字段和多个关键词时。 从 0 到 1 Elasticsearch 8.X 通关视频 重磅 | 死磕 Elasticsearch 8.X 方法论认知清单 如何系统的学习 Elasticsearch ?

    89160编辑于 2023-09-26
  • 来自专栏玄魂工作室

    CTF实战8 SQL注入漏洞

    是我们的第二个实战课程 我们还是那句话先 重要声明 该培训中提及的技术只适用于合法CTF比赛和有合法授权的渗透测试,请勿用于其他非法用途,如用作其他非法用途与本文作者无关 SQL注入漏洞产生的原因 SQL 那什么是SQLSQL语句 SQL(Structured Query Language) 结构化的查询语言,是关系型数据库通讯的标准语言。 注入 终止式SQL语句注入是指攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句 于是被注释的查询不会被执行,我们还是拿上面那个例子举例 我们上面已经知道,在username框内填入 ' or 所有的输入只要和数据库进行交互的,都有可能触发SQL注入 常见的包括 Get参数触发SQL注入 POST参数触发SQL注入 Cookie触发SQL注入 没错,Cookie也是可以的 参与SQL执行的输入都有可能进行 查询语句 Web页面中有两个SQL查询语句,查询语句的列数不同 枚举数据库 最后我们来讲一下枚举数据库 SQL Server 获取当前用户名 id=12 UNION SELECT null, null

    2K30发布于 2018-07-25
  • 来自专栏机器学习/数据可视化

    SQL进阶-8-集合运算

    SQL进阶-8-利用SQL进行集合运算 SQL本身就是以集合作为基础的,本文中记录的是利用各种集合运算。 shop = s2.shop -- 指定连接条件 where s2.item is null ); 异或集(A并B)-(A交B) 异或指的是两个集合的并集除去它们的交集之外的集合:并集-交集 SQL

    65410发布于 2021-03-01
  • 来自专栏王小雷

    Spark学习之Spark SQL8

    Spark学习之Spark SQL8) 1. Spark用来操作结构化和半结构化数据的接口——Spark SQL、 2. Spark SQL的三大功能 2.1 Spark SQL可以从各种结构化数据(例如JSON、Hive、Parquet等)中读取数据。 2.2 Spark SQL不仅支持在Spark程序内使用SQL语句进行查询,也支持从类似商业智能软件Tableau这样的外部工具中通过标准数据库连接器(JDBC/ODBC)连接Spark SQL进行查询 2.3 当在Spark程序内使用Spark SQL时,Spark SQL支持SQ与常规的Python/Java/Scala代码高度整合,包括连接RDD与SQL表、公开的自定义SQL函数接口等。 3. 连接Spark SQL 带有Hive支持的Spark SQL的Maven索引 groupID =org.apache.spark artifactID = spark-hive_2.10

    1.4K70发布于 2018-01-02
  • 来自专栏铭毅天下

    Elasticsearch 8.X 路径检索的企业级玩法

    检索到aaa文件。并且以doc为筛选条件。可行吗? 就是我有文件数组。匹配到文件数组里的文件类型就检索出来? ——问题来源:GPVIP 微信群 2、问题定义 给定一个路径 path,期待实现:输入扩展名,可以实现检索? 扩展要求:有没有专门针对 path 路径的检索或者相关实现? ,standard 分词器检索不到!! 3、小结 通过 script 预处理获取到的路径中文件的扩展名,以便后续继续扩展名进行检索。 没有使用 standard 标准分词器,而是使用路径相关的 path 路径的正向和反向的分词器来解决路径检索问题,path 路径相关的检索都推荐使用! 你有没有遇到类似问题,如何解决的呢?

    57920编辑于 2022-12-22
  • 来自专栏铭毅天下

    Elasticsearch 8.X 有哪些自动补全的检索方式?

    1、自动补全或前缀匹配检索实现效果图 Elasticsearch 能实现自动补全检索的方案很多,可以简单归结为如下几种不同的方案: 方案一:Prefix 前缀匹配检索。 -拉莫斯帽子戏法 葡萄牙6-1晋级将战摩洛哥"} {"index":{"_id":2}} {"title":"世界杯2022赛程"} {"index":{"_id":3}} {"title":"世界杯8强全部出炉 (仅截图最核心部分): 3、 match_prhase_prefix 检索类型 3.1 检索类型范畴 属于全文检索的范畴。 4、更细粒度分词器解决自动补全检索 之前咱们讲过,也是大家常见的问题,比如:手机号的自动补全检索问题。 可以看一下之前的视频: 这种传统的分词和咱们上面讲过的两种检索方式都不灵。怎么办? 7、小结 关于Elasticsearch 8.X 能实现自动补全,本文提供了五种不同的方案。几种方案的对比概括如下: 解决企业级业务问题,远不止这几种方案。

    1.7K30编辑于 2022-12-22
领券