一个SQL优化的问题

心中自然无码 2018-06-04 05:34:17
select *
from T_CASE_FILE tcasefile0_ where 1=1 and tcasefile0_.ISDELETE=0 and tcasefile0_.FILESSSATUS='2'
and tcasefile0_.STAIR='98acd79f1a2b4c67959b14863cc7264e'
order by substring_index(tcasefile0_.FILENO, '-', 1) desc, substring_index(substring_index(substring_index(tcasefile0_.FILENO, '-', 2), '-', -1), '.', 1),
CONVERT(IFNULL(substring_index(substring_index(substring_index(tcasefile0_.FILENO, '-', 2), '-', -1), '.', -1), 0), SIGNED) asc,
CONVERT(IFNULL(SUBSTRING_INDEX(tcasefile0_.FILENO, '-', -1), 0), SIGNED) limit 30


这个是查询档案大节点的sql语句,不加上后面这个排序不到1秒,加上时间是11秒,大神有没有什么优化建议


这个是档号的排序,年份+全宗号+序号
...全文
1620 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-06-04
  • 打赏
  • 举报
回复
引用 2 楼 u010592876 的回复:
[quote=引用 1 楼 yenange 的回复:] 把排序内容弄成计算列, 计算列再加上索引就快了
请问mysql里计算列是个啥东西啊?菜鸟不懂。。。[/quote] 举个例子:
CREATE TABLE log_sync_plan_data(
	planLogId BIGINT PRIMARY KEY NOT NULL auto_increment,
	syncType int NOT NULL DEFAULT 0,
	tablesCnt int NOT NULL,
	finishedCnt int NOT NULL DEFAULT 0,
	beginTime datetime NOT NULL DEFAULT NOW(),
	endTime datetime NOT NULL DEFAULT '1900-01-01',
	elapsedSeconds INT generated always AS (case when endTime<beginTime then -1 ELSE timestampdiff(SECOND,endTime,beginTime) END) VIRTUAL,
	errMsg varchar(4000) NULL,
	success INT generated always AS( case when endTime<beginTime OR ifnull(errMsg,'')<>'' OR tablesCnt<>finishedCnt then 0 else 1 end) VIRTUAL
);
你把你的SQL改成跟我这个类似就可以了:
心中自然无码 2018-06-04
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
把排序内容弄成计算列, 计算列再加上索引就快了
请问mysql里计算列是个啥东西啊?菜鸟不懂。。。
吉普赛的歌 2018-06-04
  • 打赏
  • 举报
回复
把排序内容弄成计算列, 计算列再加上索引就快了
内容概要:本文聚焦于高维多阶段随机规划问题,深入研究了正则化分解方法与马尔可夫过程在刻画不确定性动态演化中的应用,并提供了完整的Python代码实现。通过引入正则化技术有效降低了高维随机优化问题的计算复杂度,结合马尔可夫链建模多阶段决策过程中的不确定性传播机制,提升了模型在复杂动态环境下的求解效率与鲁棒性。研究涵盖了问题建模、算法设计、数值求解及结果分析全过程,具有较强的理论深度与工程实践价值; 适合人群:具备一定运筹学、优化理论基础及Python编程能力,从事智能决策、人工智能、能源系统优化、金融工程等相关领域的科研人员、高校研究生以及工业界研发工程师; 使用场景及目标:①应用于电力系统调度、供应链管理、金融资产配置等存在多阶段不确定性的复杂决策场景;②掌握高维随机规划的建模思路与高效求解技术,深入理解正则化方法与马尔可夫过程在实际优化算法中的融合机制与实现路径; 阅读建议:建议结合提供的Python代码进行动手实践,重点关注算法实现细节、参数敏感性分析与收敛性验证,鼓励在不同应用场景中迁移和改进该方法,进一步探索其在分布鲁棒优化、动态规划等前沿方向的扩展潜力。

22,296

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧