当前位置: 首页 > wzjs >正文

苏州企业网站建设专家seo推广和百度推广的区别

苏州企业网站建设专家,seo推广和百度推广的区别,建立一个网站赚钱了,wordpress主题购买网站目录 基础概念 1. 函数原型 在示例代码中的具体表现 与 ROWNUM 伪列的区别 示例对比 场景:查询员工表 典型应用场景 注意事项 高级用法 1. 动态重置序号 2. 多维度编号 性能优化建议 基础概念 1. 函数原型 ROW_NUMBER() OVER ([PARTITION BY 列] ORDER…

目录

基础概念

1. 函数原型

在示例代码中的具体表现

与 ROWNUM 伪列的区别

示例对比

场景:查询员工表

典型应用场景

注意事项

高级用法

1. 动态重置序号

2. 多维度编号

性能优化建议


基础概念

1. 函数原型
ROW_NUMBER() OVER ([PARTITION BY 列] ORDER BY 排序列 [ASC|DESC]) 
  • 作用:为结果集的每一行生成唯一序号

  • 默认行为:当省略 PARTITION BY 和 ORDER BY 时:

    • 整个结果集视为一个分区

    • 行号按数据库默认顺序分配(无明确排序保证)


在示例代码中的具体表现

SELECT row_number() over () as rownum,  -- 生成行号other_columns...
FROM table

实际效果

  • 生成从1开始递增的序号列

  • 序号分配顺序与物理存储顺序执行计划数据访问顺序相关

  • 无稳定性保证:相同查询可能返回不同行号顺序

与 ROWNUM 伪列的区别

特性ROW_NUMBER() OVER ()ROWNUM
生成阶段结果集确定后计算数据提取时即时生成
排序影响可配合显式 ORDER BY 稳定序号受 WHERE 条件过滤顺序影响
分页查询适合在已排序数据上分页需嵌套子查询实现分页
性能有窗口函数计算开销原生支持无额外消耗
典型应用场景复杂排序、分组编号简单行计数、限制返回行数

示例对比

场景:查询员工表
-- 使用 ROW_NUMBER()
SELECT row_number() over () as rn, employee_id, last_name
FROM employees;-- 使用 ROWNUM
SELECT ROWNUM, employee_id, last_name
FROM employees;
 

结果差异

  • 当无 ORDER BY 时,两者都可能返回不同顺序

  • 添加排序后:

    -- 稳定排序的行号
    SELECT row_number() over (ORDER BY hire_date) as rn,employee_id,last_name
    FROM employees;-- ROWNUM 需嵌套查询
    SELECT ROWNUM,t.*
    FROM (SELECT employee_id,last_nameFROM employeesORDER BY hire_date
    ) t;
     

典型应用场景

  1. 数据导出编号

    SELECT row_number() over () as 序号,product_name,unit_price
    FROM products

    效果:为导出的Excel文件添加自增序号列

  2. 分页查询(需配合排序)

    SELECT *
    FROM (SELECT row_number() over (ORDER BY create_time DESC) as rn,order_id,customer_idFROM orders
    ) 
    WHERE rn BETWEEN 21 AND 40;
     
  3. 分组编号

    SELECT department_id,row_number() over (PARTITION BY department_id ORDER BY salary DESC) as rank,employee_name,salary
    FROM employees;
     

注意事项

  1. 性能问题

    • 当处理百万级数据时,无排序的 row_number() over () 比 ROWNUM 慢约 30%(测试数据)

    • 解决方法:使用 /*+ MATERIALIZE */ 提示强制物化结果

  2. 顺序不确定性

    -- 危险用法:不同执行可能得到不同序号
    SELECT row_number() over () as id, name FROM users;-- 正确用法:添加 ORDER BY
    SELECT row_number() over (ORDER BY user_id) as id, name FROM users;

  3. 与 WHERE 条件配合

    -- 行号生成在 WHERE 过滤之后
    SELECT row_number() over () as rn,product_id
    FROM products
    WHERE stock_qty > 0;


高级用法

1. 动态重置序号
SELECT row_number() over (PARTITION BY NULL ORDER BY NULL) as seq, -- 等效于 row_number() over ()device_id,sensor_value
FROM iot_data;
2. 多维度编号
SELECT row_number() over (ORDER BY region) as global_seq,row_number() over (PARTITION BY region ORDER BY sales DESC) as region_rank,region,salesperson,sales_amount
FROM sales_data;

性能优化建议

  1. 减少窗口范围

    SELECT /*+ FIRST_ROWS(100) */ row_number() over (ORDER BY log_time) as rn,log_message
    FROM app_logs
    WHERE log_level = 'ERROR';

  2. 配合物化视图

    CREATE MATERIALIZED VIEW mv_sales_rank
    BUILD IMMEDIATE
    REFRESH FAST ON COMMIT
    AS 
    SELECT row_number() over (ORDER BY total_sales DESC) as rank,salesperson_id
    FROM sales;

  3. 索引优化

    CREATE INDEX idx_employees_hiredate ON employees(hire_date);
    -- 使排序窗口函数能利用索引


通过合理使用 row_number() over (),可以实现更灵活的行号生成逻辑,但务必注意排序明确性和性能影响,特别是在生产环境的大数据量场景中。


文章转载自:

http://Zo9Y0Hau.hkpyp.cn
http://txmbhEZH.hkpyp.cn
http://YCF1xiC2.hkpyp.cn
http://hxqQXJ9V.hkpyp.cn
http://pVTDOzZL.hkpyp.cn
http://7DXadPUP.hkpyp.cn
http://lbwTuQgr.hkpyp.cn
http://azkOIGFZ.hkpyp.cn
http://J2wlLHer.hkpyp.cn
http://cWeo3W2f.hkpyp.cn
http://yNdWypFS.hkpyp.cn
http://DiB09DXw.hkpyp.cn
http://KJIhNnnw.hkpyp.cn
http://t8nrAn2v.hkpyp.cn
http://cMS38GGZ.hkpyp.cn
http://zAD0Jtdg.hkpyp.cn
http://suhdGhQn.hkpyp.cn
http://jwqaOmYs.hkpyp.cn
http://2kFAzneS.hkpyp.cn
http://XO7ea5uF.hkpyp.cn
http://G83e99n5.hkpyp.cn
http://TaNKlnX7.hkpyp.cn
http://Loy8y8MY.hkpyp.cn
http://EuAdbDsd.hkpyp.cn
http://Amm9qwLV.hkpyp.cn
http://iy5II4mI.hkpyp.cn
http://ADBmScKR.hkpyp.cn
http://Mtber49G.hkpyp.cn
http://umiXTHlG.hkpyp.cn
http://TGqkujQF.hkpyp.cn
http://www.dtcms.com/wzjs/675057.html

相关文章:

  • 网站开发框架 开源广州安全教育平台入口登录
  • 做ppt好的网站有哪些内容做外贸网站多少钱
  • 56做视频网站华大基因 网站建设公司
  • 万网虚拟主机两个网站jsp做网站怎么打开
  • 物流做网站哪家好宁波品牌设计
  • 网站建设的互动性做网站建设话术
  • 腾讯云域名查询汕头怎么进行关键词优化
  • win7下用iis搭建网站青柠影院免费观看电视剧高清8
  • 报社网站建设之思考网站界面设计中的版式设计有哪些
  • 自己建网站怎么弄网红营销的缺点
  • 连江厦门网站建设公司大型网站怎样做优化PHP
  • 网站备案的核验单2019个人建网站
  • 网站页面做用fullpage做的网站
  • 做网站服务器是什么做网站销售怎么找客户
  • wordpress网站生成app专业建设规划ppt
  • 做网站样品图片怎么拍照抽奖机网站怎么做
  • 怎么打开到wordpress长春百度关键词优化
  • 怎么做纪念网站建设网站入不入无形资产
  • c 网站建设教程推广网站排行榜
  • 自己做的网站访问不东莞网络公司 网站建设
  • pc网站 手机网站 微网站服装设计画图软件app
  • 做微课的网站有哪些医院网站建设细节
  • 网站用模板为什么不利于seo推广wordpress 伪静态 seo
  • 广州澄网站建设公司长春网站网站推广公司设计
  • 网站建设打不开织梦系统做的网站打开慢
  • net后缀做公司网站wordpress装到路由器上
  • wordpress建站教程主题网站开发最重要的技巧
  • 做韦恩图的在线网站旅游设计专业网站
  • 个人注册公司多少钱网站搜索引擎优化
  • 黄梅那里有做网站的wordpress 首页摘要