精华内容
下载资源
问答
  • 提示:写完文章,目录可以自动生成,如何生成可参考右边的帮助文档 自定义SQL语句添加排序条件系列文章目录前言一、目标二、解决办法总结 前言 本系列文章主要记录项目过程中重点的项目技术 一、目标 由于业务...

    系列文章目录


    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    本系列文章主要记录项目过程中重点的项目技术


    一、目标

    由于业务的需求,我需要自定SQL语句,而且需要根据指定字段排序并分页

    二、解决办法

    如下图所示,在用page接收的时候设置orderBy的属性值即可
    在这里插入图片描述


    总结

    至此,本文章结束

    展开全文
  • 如何自动跳转到第一页?类似这个问题<a href="url">https://github.com/baukh789/GridManager/issues/24</a>,我看到API说【5. 可以通过在参数query中添加cPage字段对分页进行控制,如=> {...
  • 功能丰富强大 (增删改查、分页排序、分组聚合、各种 JOIN、各种子查询、跨库跨表、性能分析 等零代码实现) 使用安全简单 (自动增删改查、自动生成文档、自动管理版本、自动控制权限、自动校验参数、自动防SQL注入...
  • 实例228 开机程序自动运行 319 实例229 获取任务栏尺寸大小 320 实例230 改变系统提示信息 321 实例231 获取系统环境变量 322 实例232 启动屏幕保护 323 7.11 系统隐藏 324 实例233 隐藏、显示任务栏...
  • dwz框架的简单介绍,以及自己在使用过程中遇到过的三个小问题: 1)两个Tab同时打开出现窜页问题,或影响分页的正常使用 ...3)如何实现在弹出的对话框中,点击确认或是提交按钮自动关闭当前对话框

    一:什么是dwz框架:

    它一款简单实用的国产jQuery UI框架,其全称是DWZ富客户端框架(jQuery RIA framework),是中国人自己开发的基于jQuery实现的ajax RIA开源框架。

    设计目标是,简单实用,降低ajax开发成本。详细展示示例可以点击地址:http://j-ui.com/#demo_page5

    二:遇到过的问题

    由于我对DWZ框架还不是太了解,所以,我遇到的问题(来自公司web项目)以及解决的办法可能都十分浅显,甚至是不太恰当的。希望相关方面的高手委婉的提提改进意见。谢谢!

    1)两个Tab同时打开出现窜页问题,或影响分页的正常使用

    问题原因:两个tab的id命名一样,这就导致页面在调用其中一个tab的时候,会出现窜页现象,同时也会影响分页的效果。

    改过的一个bug:设置每页的显示数量不成功。

    解决办法:

    <span>每页</span>
    	 <c:set var="pageSizeList" value="${fn:split('10|20|50|100', '|')}"/>  
    	 <select name="page.pageSize" οnchange="jQuery('#actpageSize',navTab.getCurrentPanel()).val(this.value);
    	 dwzPageBreak({targetType:'navTab',rel:'freshDiv', numPerPage:this.value});">
    其中获取当前页的id的重点是:jQuery('#actpageSize',navTab.getCurrentPanel()).val(this.value);这一句。

    2)排序不起作用

    原因:可能是页面上相关form标签中的属性id,命名不正确(来自公司的web项目,时间很长了,我当时也没有很细致的去看,可能不具有通用性,不起作用的话,请大家具体排错,因地制宜

    解决办法:检查该form标签中的id值是否叫做pagerForm,如果不是,把它改成pagerForm。代码示例如下:

    <form id="pagerForm" action="syslog.do?list" rel="mainFrom" >
    
             //用于分页的三个参数
    	<input type="hidden" id="totalPages" value="${page.totalPages}"/>
    	<input type="hidden" id="pageNo" name="page.pageNo" value="${page.pageNo}"/>
    	<input type="hidden" id="syslogPageSize" name="page.pageSize" value="${page.pageSize}"/>
    
            //用于排序的两个参数
    	<input type="hidden" id="orderField" name="orderField" value="${param.orderField}"/>
    	<input type="hidden" id="orderDirection" name="orderDirection" value="${param.orderDirection}"/>
    		
    </form>

    3)实现在弹出的对话框中,点击确认或是提交按钮后,自动关闭当前对话框,示例代码如下:

    <script type="text/javascript">
    	function submitBillingForm(){
    	//#billingQueryForm为要提交的表单id				
    	$("#billingQueryForm").submit();
    	//关闭对话框的命令
    	$.pdialog.closeCurrent();					
    }
    </span>


    展开全文
  • 112.如何在DataGrid中添加自动编号的功能 113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式 114.如何把DataGrid中某一列的统计值显示在页脚中 115.如何在DataGrid中让不同条件的行显示不同的背景颜色 ...
  • 如何在DataGrid中添加自动编号的功能 113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式 114.如何把DataGrid中某一列的统计值显示在页脚中 115.如何在DataGrid中让不同条件的行显示不同的背景...
  • 因此,最终用户的修改(分页/排序/分组/过滤)将在页面重新加载后自动恢复。 第二个网格使用调用和方法的外部按钮保存和加载布局信息。 单击“保存当前布局”按钮以保存当前布局信息。 相应的项目将在外部列表框中...
  • C#开发经验技巧宝典

    2008-10-14 20:10:07
    0434 如何使Pannel实现横向滚动纵向自动扩展 238 0435 属性MaintainScrollPositionOnPostBack实现网页定位 238 0436 自动隐藏式菜单 238 0437 关闭弹出窗口刷新父窗口 239 0438 弹出网页模式对话框 240 ...
  • Mysql调优

    2021-05-18 10:38:05
    提示:文章写完,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言文档说明一、SQL查询为什么会慢?1. 较为宏观的视角可能有一下原因:2. 从服务器资源的角度可能有以下原因:二、SQL查询慢在哪里...

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    由于MySQL本身的限制,并非所有的SQL都能的到很好的优化,实际业务场景中可能要辅以其他技术方案甚至业务妥协来实现当前业务的优化。

    但就其开发成本而言,SQL优化是首选考虑的优化方向

    文档说明

    数据库版本: MySQL 5.7.16
    数据库schema: MySQL Sakila
    操作系统: CentOS 7.3


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、SQL查询为什么会慢?

    1. 较为宏观的视角可能有一下原因:

    • SQL 压根没建立索引
    • SQL 索引性能不好
    • SQL 尽管建立了索引,但是没走索引
    • SQL 使用了磁盘临时表
    • 其他业务锁表导致当前SQL查询等待
    • MySQL 选错索引

    2. 从服务器资源的角度可能有以下原因:

    • 伴随SQL执行,CPU资源消耗100%
    • 伴随SQL执行,内存资源不够用,需要走磁盘I/O
    • 原服务器本身就繁忙,分配不到资源
    • 硬件资源本身就不足

    二、SQL查询慢在哪里

    Mysql排查工具

    MySQL 官方提供以下两种工具让我们来排查SQL究竟慢在哪里

    • profile

    profile

    • explain [extended] (MySQL 5.7 后extended已过时)

     explain

    • explain [extended]的几个重要参数
      • type: 判断SQL好坏的性能指标,从最优到最差依次: null>system>const>eq_ref>ref>range>index>All。一般来说,要保证查询达到range级别,最好达到ref;
      • key:判断SQL是否使用索引,使用了什么索引;
      • key_len:索引长度,主要受数据类型影响,长度越短,索引性能越好
      • rows:表明优化器大概要扫描的行数,值越小性能越好
      • extra:提供辅助优化信息,告诉我们应该从那个方向优化

    三、SQL优化思路参考

    优化JOIN连接查询

    • 常见的优化点有:
      • 关联字段建立索引(被驱动表建索引即可)
      • 已小表驱动大表(不用过多关注,MySQL一般情况会自动选择)
      • 合理设置join_buffer_size
    • JOIN SQL 执行通常为以下执行步骤
      • 将驱动表t1所有数据(N行)加载到join_buffer内存中(如果join_buffer_size大小足够装下驱动表数据)
      • 从t1中读入一行数据,取出关联字段到被驱动表t2(M行)遍历查找(如果存在索引,树级搜索)符合条件的数据作为结果集的数据
      • 重复第二步,直至完成t1的遍历
    • 从上面的执行过程可以看到
      • 增大join_buffer_size,可以将驱动表所有的数据装载进内存,不会使用磁盘临时表,可提升性能
      • 关联字段建立索引,可以让被驱动表以树级复杂度进行搜索,提升遍历性能
      • 整体执行时间复杂度接近 N * logM,以小表(N行)驱动大表可以提升性能

    优化子查询

    • IN 型子查询优化(使用覆盖索引)
      在这里插入图片描述
    • JOIN 型子查询优化
      • 关联字段建立索引

      • 不需要的字段不要返回

      • 利用覆盖索引

        -

    • FROM型子查询优化
      • 对于这类查询语句,目前没发现有特别好的方法优化,唯一能做的就是通过减少子查询结果集的记录数或者返回列数或者设置group by相关配置参数(见下文),使得子查询走的是内存临时表,从而性能不至于太差
        在这里插入图片描述

    优化ORDER BY排序

    • 优化order by主要是优化using filesort,使其可以利用索引排序。其优化手段之一为建立排序可用的联合索引
      • 要建立可用索引,我们需要知道那些情况下索引可以生效和不生效,考虑以下情况
        ORDER BY
    • 合理设置ORDER BY 相关配置参数
      • 增大max_length_for_sort_data(线程级)
      • 增大sort_buffer_size(线程级)
    • order by的另一优化方向是使用驱动表字段代替被驱动表字段,当然这是以语义相同为前提的
      -

    优化ORDER BY分组

    • 前面所说的优化ORDER BY的方法同样适用于优化GROUP BY NULL来消除文件排序(当没用通过order by 指定排序列,group by会隐式按照分组的字段进行排序)
      -
    • 当GROUP BY无法使用索引,MySQL会使用临时表或文件排序处理分组。对于这种查询语句,可以通过使用hint提示SQL_BIG_RESULT/SQL_SMALL_RESULT来优化语句的性能
      • SQL_BIG_RESULT会提示优化器结果集很大,直接使用磁盘临时表排序,没必要先走内存表发现空间不够再走磁盘
      • SQL_SMALL_RESULT提示优化及结果集很小,可以直接使用内存临时表排序
        在这里插入图片描述

    优化Limit分页

    • Limit分页的性能问题一般分为返回数据过大和偏移量大两种场景:
      • 对于返回数据过大的场景,缩小返回的行数即可
      • 对于偏移量大的场景,因为limit的实现机制是limit a,b会先扫描a+b数据,再截取[a,b)数据返回,所以最好能从业务上能控制分页的深度,如果业务不允许,则考虑是否可以使用延迟加载辅助定位方法
    • 延迟记载是指构造一个可使用覆盖索引的子查询,通过覆盖索引先查出索引列数据,再与自身关联返回需要的数据
      • 分页的深度越深,延迟关联相对于正常分页的性能就更明显。但是这种优化仅适用于单表查询
        在这里插入图片描述
    • 辅助定位是指将limit M,N查询转换为已知位置的查询(where id >= x limit N + 1),每次分页查询时,从上一页分页中取出id最大值x,构建 id > x条件
      -

    优化UNION合并

    • MySQL总是通过创建并填充临时表的方式来执行union子查询,导致很多优化策略无法使用,经常需要手工将where,limit,order by等子句下推到union的各个子查询,以便优化器可用充分利用这些条件进行优化。
      • 尽可能使用union all 代替union,如果确实需要过滤重复行,请考虑代码实现过滤

    优化Where子句

    • where子句的优化关键在于如何建立合适索引对数据进行过滤
      • 关联查询的where子句只能使用驱动表索引,如where t1.a = " and t2.b = "只能使用驱动表a的索引
      • 根据区分度建立联合索引
        • 对于区分度都不高的多列,考虑高频使用的列放前面
        • 对于区分度高的多列,考虑区分度高的列放前面
      • 结合order by列/group by列建立联合索引,如where t1.a= “” order by b考虑建立索引idx_ a _b;
      • 范围查询列放后面(范围查询列后面的列无法再使用索引),如where t1.a= " and t1.b in(’") and t1.c= "考虑建立索引idx_ a_ b或idx_ C. _b
      • 考虑根据枚举值拆分查询语句, 并发查询提高性能;

    四、一些偏方(慎用)

    • 当关联查询驱动表选择不是小表导致查询慢时,可以考虑使用STRAIGHT_JOIN强制关联顺序
    • 明明有索引的时候执行要快很多,但是MySQL执行时并没有选择索引,可以使用Force Index强制SQL走索引
    • 如果整体业务并发不高,查询数据库也不算太频繁的情况,考虑开启查询缓存可以极大程度提交查询性能

    总结

    • 通过profile/explain 工具基本可满足SQL性能分析的需求(高阶可以使用PT工具)
    • 根据相应的SQL特点(JOIN,ORDER BY…)可以针对性的进行SQL性能优化
    • SQL性能优化不是银弹,很多业务性能无法得到很好的优化,这只是开发成本最低的优化方向
    展开全文
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    74 <br>0107 如何获得字符串中数字或字母的长度 74 <br>0108 如何获得字符串中某个数字的位置 75 <br>0109 获得字符串中汉字的个数 76 <br>0110 获得字符串中指定几位字符 76 <br>0111 ...
  • ECSHOP设置及开发技巧汇总

    热门讨论 2012-11-22 09:29:29
    3.31 ecshop模板如何让浏览历史按照先后排序? 139 3.32 ecshop添加一个30天销量的方法 139 3.33 ECSHOP模板首页商品显示购买过的次数 141 3.34 关于商品促销一人限购一件问题的解决方案 142 3.35 100问题汇总 146
  • asp.net知识库

    2015-06-18 08:45:45
    分页存储过程:排序反转分页法 优化的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 ...
  • java面试题典 java 面试题 经典

    热门讨论 2010-06-18 13:42:36
    37. 创建数据库时自动建立的tablespace名称? 34 38. 创建用户时,需要赋予新用户什么权限才能使它联上数据库。 34 39. 如何在tablespace里增加数据文件? 35 40. 如何变动数据文件的大小? 35 41. 哪个VIEW用来检查...
  •  10-7 小锦囊(二)如何使用Recordset对象的Sort属性来进行排序  10-8 小锦囊(三)如何使用Recordset对象的Filter属性来筛选记录  10-9 小锦囊(四)如何设置分页浏览  第11章 数据库查询  11-1 使用SQL查询 ...
  • 【Mybatis】Mybatis是如何进行分页的?分页插件的原理是什么? 100 【数据库】什么是事务?事务的四个特性?事务的隔离级别?什么是脏读,不可重复读,幻读? 101 什么是事务 101 事务的四个特性:ACID 101 4种隔离...
  • Excel数据处理与分析实战技巧精粹 附书源码 ISBN:9787115182326 本书在对Excel技术论坛上上百万个提问的分析与提炼的基础上,汇集了用户在... 技巧189 数据透视表刷新数据后如何保持调整好的列宽 技巧190 启用选定...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    四、如何自动生成目录? 6 五、奇偶页显示不同内容 7 六、在页眉中显示章编号及章标题内容 7 七、修改页眉中的划线格式 7 八、在页眉和页脚中插入章节号和标题 8 九、分隔符 8 十、目录生成教程 8 十一、怎样使首页...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 182
精华内容 72
关键字:

如何分页后自动排序