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

通过自研数据库画像工具支持“去O”评估

迁移前后对比数据量大吗? [开发者] 复杂SQL多嘛? 改造量是不是很大? 是不是使用Oracle方言、专有对象,需要改造?...近些年来,分布式数据库已逐渐成熟,推广落地;并开始在关键场景中尝试使用。 3.3 对象信息 ? 针对Oracle中对象,在改型中各有不同的考虑要点。报告中给出汇总数据,也可给出明细数据方便查询。...3)ANTI SQL 反向查询,数据库处理上都较为困难,这部分也比较考验优化器。虽然在MySQL的较新版本中,对反向查询有了不错的优化,但这部分仍然值得关注。...当然现在也有的厂商,宣布其产品是兼容Oracle语法的,但也建议针对这些做专门测试。 5)Join 3+ Table SQL 多表关联,也是比较考验优化器。...这里列出的是3个及以上的关联查询,需要考虑修改。针对特别复杂的查询,可以考虑将其卸载到大数据平台完成。 6)SubQuery SQL 子查询情况类似上面,也是MySQL不擅长的。

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    三谈去O之“数据库画像”

    迁移前后对比数据量大吗? [开发者] 复杂SQL多嘛? 改造量是不是很大? 是不是使用Oracle方言、专有对象,需要改造?...近些年来,分布式数据库已逐渐成熟,推广落地;并开始在关键场景中尝试使用。 3 对象信息 ? 针对Oracle中对象,在改型中各有不同的考虑要点。报告中给出汇总数据,也可给出明细数据方便查询。...【ANTI SQL】 反向查询,数据库处理上都较为困难,这部分也比较考验优化器。虽然在MySQL的较新版本中,对反向查询有了不错的优化,但这部分仍然值得关注。...当然现在也有的厂商,宣布其产品是兼容Oracle语法的,但也建议针对这些做专门测试。 【Join 3+ Table SQL】 多表关联,也是比较考验优化器。...这里列出的是3个及以上的关联查询,需要考虑修改。针对特别复杂的查询,可以考虑将其卸载到大数据平台完成。 【SubQuery SQL】 子查询情况类似上面,也是MySQL不擅长的。

    1.3K20

    DBA不失业:云时代的数据库性能优化全攻略

    传统优化技术与方法 我们知道,数据库绝大多数的性能问题都可以归结到SQL的问题,一般的性能问题经过SQL的改写都能获得较好的性能提升。...推荐阅读: 性能为王:SQL标量子查询的优化案例分析 工具与平台自动优化 除了手动进行SQL优化,美团DBA还开发了SQL优化工具 SQL advisor,将优化技巧迁入到工具中,提高效率。...SQL审核与优化,是DevOps在数据库领域落地的最佳实践。 本次大会还有SQL审核专家张中靖、罗海雄带来的分别针对开发与运维的SQL审核优化经验的分享。 ? ?...自治数据库靠谱吗?整个行业未来的发展趋势将会是怎样?欢迎您来到数据技术嘉年华现场,听听Oracle Real-World Performance团队的VP怎么说。...世界上首款自治数据库长什么样?Oracle Real-World Performance(RWP)团队是怎样进行数据库性能优化,怎样将他们的经验融入到世界上首款自治数据库中的?

    2.1K90

    MySQL的COUNT语句,竟然都能被面试官虐的这么惨!?

    关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT 但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就会被虐。...除了查询得到结果集有区别之外,COUNT(*)相比COUNT(常量) 和 COUNT(列名)来讲,COUNT(*)是SQL92定义的标准统计行数的语法,因为他是标准语法,所以MySQL数据库对他进行过很多优化...因为MyISAM的锁是表级锁,所以同一张表上面的操作需要串行进行,所以,MyISAM做了一个简单的优化,那就是它可以把表的总行数单独记录下来,如果从一张表中使用COUNT(*)进行查询的时候,可以直接返回这个记录下来的数值就可以了...但是,InnoDB还是针对COUNT(*)语句做了些优化的。 在InnoDB中,使用COUNT(*)查询行数的时候,不可避免的要进行扫表了,那么,就可以在扫表过程中下功夫来优化效率了。...因为这个是SQL92定义的标准统计行数的语法,而且本文只是基于MySQL做了分析,关于Oracle中的这个问题,也是众说纷纭的呢。

    67920

    不就是SELECT COUNT语句吗,居然有这么多学问!

    关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT 但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就会被虐。...除了查询得到结果集有区别之外,COUNT(*)相比COUNT(常量) 和 COUNT(列名)来讲,COUNT(*)是SQL92定义的标准统计行数的语法,因为他是标准语法,所以MySQL数据库对他进行过很多优化...因为MyISAM的锁是表级锁,所以同一张表上面的操作需要串行进行,所以,MyISAM做了一个简单的优化,那就是它可以把表的总行数单独记录下来,如果从一张表中使用COUNT(*)进行查询的时候,可以直接返回这个记录下来的数值就可以了...但是,InnoDB还是针对COUNT(*)语句做了些优化的。 在InnoDB中,使用COUNT(*)查询行数的时候,不可避免的要进行扫表了,那么,就可以在扫表过程中下功夫来优化效率了。...因为这个是SQL92定义的标准统计行数的语法,而且本文只是基于MySQL做了分析,关于Oracle中的这个问题,也是众说纷纭的呢。

    73230

    SELECT COUNT你真的用对了吗?

    而在所有查询操作中,统计数据操作更是经常被用到。 关于数据库中的行数统计,无论是mysql还是oracle,都有一个函数可以使用,那就是COUNT。...除了查询得到结果集有区别之外,COUNT()相比COUNT(常量) 和 COUNT(列名)来讲,COUNT()是SQL92定义的标准统计行数的语法,因为他是标准语法,所以MySQL数据库对他进行过很多优化...因为MyISAM的锁是表级锁,所以同一张表上面的操作需要串行进行,所以,MyISAM做了一个简单的优化,那就是它可以把表的总行数单独记录下来,如果从一张表中使用COUNT(*)进行查询的时候,可以直接返回这个记录下来的数值就可以了...但是,InnoDB还是针对COUNT(*)语句做了些优化的。 在InnoDB中,使用COUNT(*)查询行数的时候,不可避免的要进行扫表了,那么,就可以在扫表过程中下功夫来优化效率了。...因为这个是SQL92定义的标准统计行数的语法,而且本文只是基于MySQL做了分析,关于Oracle中的这个问题,也是众说纷纭的呢。

    2.1K10

    一道面试题引出的系列数据库性能,数据安全问题及解决方案

    面试题一枚可好:请问以下SQL有什么可能的逻辑问题、语法问题、性能问题,可以怎样进行索引优化、逻辑优化以提升性能?...首先,在这个SQL中,Between AND 可以进行优化改写,between 18 and 24,最简单的有两种改写方法: 将 between and 改写成 >= 和 Oracle...最后,其实我们很容易发现对于age和boyfriend的存储,行存不如列式存储,如果使用Oracle 12c的IN-Memory,在内存中进行列式压缩,可以极大的提高查询性能。 ?...可是注意,以上我们的推断,是基于Oracle数据库的考虑,如果数据库是 MySQL、Redis,或是其他产品,该如何去调整和优化呢? 如果是MySQL,是否数据量相当庞大之后,如何分库分表?...那么我还可以告诉你,如果完成以上查询,并且碰巧获得了输出,那么你可能已经违反了欧盟的GDPR法案,涉嫌侵犯了用户隐私(哈哈哈哈哈哈,开心吗)。

    47920

    Oracle数据库中最让人匪夷所思的十大问题盘点

    Select 语句也会导致系统hang住吗 我们都知道在 Oracle 数据库里是“读不阻塞写,写不阻塞读”,那么是否可以认为在正常情况下,select 操作是怎样都能执行,始终不会被 hang 住的呢...建议阅读: Oracle数据库里SELECT操作Hang解析 作者:崔华 ? No 2. SQL增加DISTINCT后查询效率反而提高?...Shutdown immediate 会导致数据库无法启动吗 我们知道,以immediate的方式停库之后,整个Oracle数据库的文件都是处于一致的状态,重新启动数据库实例后按理说是不需要再进行实例恢复的...官方文档也出错,原来所有的跨平台迁移都可以通过XTTS的方式实现 自从2015年初进行了xtts增量的U2L迁移测试之后,国内很多人都开始利用这种方案进行数据库跨平台迁移了,基本上都是利用Oracle...建议阅读: 我们都被骗了,所有的跨平台迁移都可以通过XTTS实现 作者:李真旭 ? No 9. 脑洞大开,SQL也可以解脑经急转弯吗?

    1.7K60

    数据库性能和数据库安全:面试题上以小见大

    面试题一枚可好:请问以下SQL有什么可能的逻辑问题、语法问题、性能问题,可以怎样进行索引优化、逻辑优化以提升性能? ​...首先,在这个SQL中,Between AND 可以进行优化改写,between 18 and 24,最简单的有两种改写方法: 将 between and 改写成 >= 和 Oracle自己的转换...最后,其实我们很容易发现对于age和boyfriend的存储,行存不如列式存储,如果使用Oracle 12c的IN-Memory,在内存中进行列式压缩,可以极大的提高查询性能。 ​...可是注意,以上我们的推断,是基于Oracle数据库的考虑,如果数据库是 MySQL、Redis,或是其他产品,该如何去调整和优化呢? 如果是MySQL,是否数据量相当庞大之后,如何分库分表?...那么我还可以告诉你,如果完成以上查询,并且碰巧获得了输出,那么你可能已经违反了欧盟的GDPR法案,涉嫌侵犯了用户隐私(哈哈哈哈哈哈,开心吗)。

    3.3K00

    数据库国产化需要知道的几件事

    数据库的优化器是决定某条SQL语句最快能跑多快的一个最为关键的因素,十分遗憾的是,目前的所有国产化数据库,甚至加上所有的商用数据库,没有一个优化器能够和Oracle相媲美。...确实,分布式数据库可以从很大程度上解决国产集中数据库无法避开的SQL引擎及优化器能力不足、资源管理并发管理方面算法效率较低的问题。...目前我们的大多数分布式国产数据库,在某个特定领域的能力确实很强,比如在一些简单的交易场景,针对银行、证券甚至运营商的业务逻辑较为简单的,以数据写入与不太复杂的查询分析的场景,已经支持的很好了。...第四个真相是,数据库国产化是一个复杂的生态建设工程,而不仅仅是一次商业采购的产品替换,在这个问题上我们远没有准备好,必须花大力气在应用研发、系统优化、运维支撑等全领域都构建起针对国产化数据库的能力,才能把这项工作做好...可能很多朋友都觉得Oracle应该是使用成本最低的数据库了,我们花100万买一套数据库,可以节约更多的研发、运维方面的成本,不是很划算吗?实际上讲数据库成本的时候确实要算总账,不能仅仅算买数据库的钱。

    1.8K30

    20万DBA在关注的11个问题

    房晓乐 TiDB学院院长 赵全文 Oracle ACE Associate,擅长数据库日常运维和性能优化 利成文 擅长Oracle, DB2, SQL Server等数据库 李敏 擅长Oracle RAC...、ASM等高可用领域,另外人称XD小王子 邓秋爽 擅长Oracle性能优化和故障处理 许文榕 擅长Oracle日常运维及故障处理 许玉晨 擅长Oracle日常运维及故障处理 孙加鹏 擅长Oracle、SQL...Server等数据库 谢金融 擅长Oracle日常运维及故障处理 刘娣 恩墨东区交付一姐,擅长Oracle性能优化 刘文波 擅长Oracle日常运维、故障处理以及性能优化 陈刚 擅长Oracle故障处理...周琦放 擅长Oracle性能优化 杨天成 擅长Oracle、及开源数据库 张敏 擅长Oracle数据库的日常运维 新关联公众号 ---- 墨天轮DBASK是一个开放互助的数据库技术社区。...---- 问题五、oracle 11g支持IPV6吗? 公司最近在做IPV6的改造方案,我想问下对现有oracle数据库会有什么影响吗?公司主要用oracle11g和oracle12c。

    98820

    关系型数据库之mysql

    说到关系型数据库,我们脑海里浮现的大概就是Oracle、SQL Server 、MySQL了,但其实关系型数据库还有DB2、Microsoft Access等,只不过最常见的还是Oracle、SQL Server...现在我们要聊的是一些SQL查询的优化。 为什么需要SQL优化呢?因为一些不合理SQL语句会大大的增加我们服务器的开销,一毫秒可以查询出来的数据,你用了一秒这还不能说明问题吗。...如何知道SQL是否需要优化呢? 首先你要想知道SQL是否需要优化,大多数的时候凭感觉就能知道,网页数据迟迟不展示,你就可以看一下SQL语句了。 然后是如何快速的定位到SQL语句呢?...我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。...并且,他还支持更多的高级应用 五:SQL优化 这里就不具体的说如何进行SQL优化了,因为深层次的太过于复杂,浅层次的大家都知道。

    3.5K00

    PawSQL 常见问题解答(FAQ)

    理想情况下,性能的优化验证应该在生产数据上进行。但是由于安全性的问题,SQL性能的优化通常都是在测试环境中进行的。...在收费策略上,EverSQL的免费版每个月只能进行一次优化,而其企业版每个月也只能进行75次优化;而PawSQL每人每个月可以进行90次优化。PawSQL的主要商业策略是通过企业的私域部署进行收费。...对于有很多表和视图的数据库,这个过程会非常耗时,导致PawSQL卡死。在最新的版本中(2024.1.x),PawSQL只会解析查询中所用到的对象,此问题不会再出现。...关于PawSQL PawSQL专注数据库性能优化的自动化和智能化,支持MySQL,PostgreSQL,openGauss,Oracle等,提供的SQL优化产品包括 PawSQL Cloud,在线自动化...SQL优化工具,支持SQL审查,智能查询重写、基于代价的索引推荐,适用于数据库管理员及数据应用开发人员, PawSQL Advisor,IntelliJ 插件, 适用于数据应用开发人员,可以IDEA/DataGrip

    13710

    不想做技术总监的项目经理,不是好程序员

    因为跟数据库、数据仓库、查询打交道比较多,所以着重说了下数据查询的优化过程。 (1)先找出慢SQL,以Oracle为例,可以通过AWR报表的方式查看。...缺点是查询时如果要查询扩展表字段,需要join操作,插入修改时要考虑多表,事物复杂。单表数据量还是太大。】 (6)或者可以考虑进行分库分表操作。...(8)增加数据库性能,升级硬件,例如磁盘换上SSD。这个方法是被验证过了的,尤其是查询批量数据,无高效索引的时候。...(9)从数据库层面已经无法优化了,我们可以考虑在应用端使用并行查询的方法爬出数据,然后再行合并。 【事实上,很多报表工具都是这么做的。】...第二周便来活了,是写个小工具,可以自动将spring项目中针对Oracle、mysql的SQL语句转换为适配国产数据库(达梦)。 前期已有一个架构师做了初步调研,我喊他荣哥。

    98620

    手把手教你升级到 Oracle 19c(2)

    第一步:登入 upgr 数据库,查看当前数据库内的 SQL Tuning Set 通过查询我们可以看到,目前数据库中有两个 SQL Tuning Set,这两个 STS 在之前的实验中,我们见过,并使用过...另外,如果您发现升级之后,性能有回退,也别担心,我们可以通过其他技术对这些 SQL 进行优化,使其具有更好的性能。...在下面的两个报告中,我们都看到一个 SQL ID 为 13dn4hkrzfpdy 的语句在升级前后有性能变化,我们在接下来的实验中,针对这个 SQL 语句进行优化。...在升级之后,我们通过 SPA 找到了一些性能不好的 SQL 语句,我们应该有针对性地对这些语句进行优化,而不是使用工具将他们不加区分地统统“优化”。...SQL 优化指导,这个工具在十多年前就被大家广泛使用了,在本实验中,我们使用 SQL 优化指导,对 STS_CaptureCursorCache 这个 SQL Tuning Set 中的语句进行优化,看看它会给我们怎样的建议

    69530

    Oracle优化器架构变化和特定行为

    "知史以明鉴,查古以至今" 概述 优化器(Optimizer )是Oracle数据库最重要的部件之一,随着Oracle数据库每个新版本的发布,优化器都会得到增强并追加一些新功能,本文将针对各个版本出现的新特性背景和发展进行简单介绍...如上图所示,Oracle数据库不断地自我完善着: Oracle数据库从9i版本开始,为了使SQL文能够更好的共享,引进了用于游标共享的CURSOR_SHARING参数。...12C的版本开始,数据库把优化器的功能更推上了一个台阶,追加了自适应计划等功能并整合了之前版本的各个功能,形成一套完整自适应查询优化(Adaptive Query Optimization )功能集合。...Oracle 数据库在12c版本上对此进行了增强,使优化器能够在某些SQL运行时也能自己改变执行计划,并同时收集运行时的一些额外信息帮助产生更优的执行计划。...FeatureSets for adaptive query optimization 通过上面的图,我们可以看到在12c中的自适应查询优化功能集合,主要是包括2部分: 左侧:在SQL第一次执行时实时进行优化的自适应执行计划

    84910

    TablePlus for Mac(本地原生数据开发软件)

    1.原生,快速和安全使用可以像Lambo一样快速运行的本机应用程序轻松查询,编辑和管理数据库。...您可以自定义最符合您个人品味的外观和配置。直观的GUI客户端 在简单干净的电子表格式编辑器中浏览,查询,编辑数据和数据库结构。1.内联编辑只需单击即可直接编辑数据行,表结构或查询结果。...3.代码审查和安全模式始终掌控您在数据库中更改的内容。4.导出和导入数据库需要将数据库迁移到另一台服务器吗? 导出和导入SQL Dump将立即完成。...智能查询编辑器 我们已将SQL编辑器的最佳实践构建为默认值,以帮助您提高工作效率。...更新日志针对 Big Sur 进行了优化,并支持 Apple Sillicon。[Oracle]支持副本创建。[MySQL]针对 MyCat 群集进行了优化。改进了对连接的搜索。

    1.6K70

    如何编写便于团队阅读和维护的SQL语句

    1、关键字使用大写 SQL关键字使用大写,表和列使用小写(oracle除外,oracle默认表、列就是大写)。在SQL函数都使用大写这样可以进行更好的区分,尽管这里有一些争议,但是我建议这样使用。...5、不要使用 SELECT * 无论是因为查询速度优化的原因,还是增加sql语句的可读性,都不要使用 * 作为查询的列名,因为查询的请求不清晰,隐藏了查询的意图。...6、使用ANSI-92的显式连接语法 一般的关系型数据库都支持FROM后指定多张表,并且在WHERE中指定连接关系的语法,相当于INNER JOIN,对于oracle还可以使用关键词(+)指定是LEFT...还是RIGHT JOIN,虽然这个在性能上没什么不同,但是却忽略了兼容性,尤其是在需要对SQL进行迁移时,例如从oracle ->hive、apache doris、clickhouse。...,肯定会看到这个WITH操作,在Hive中CTE是保存在内存中的,可以提高执行速度。

    1.1K20

    程序员与数据库中的设计

    他们创造这这个世界,的确是伟大的。...在程序开发的SQL 存储过程中有这样一个想法,就是我只要完成功能就可以了,的确,数据量小完成功能就好了,我可以将我的存储过程写成一个 “方法论”,来回的调用,也可以将我的存储过程,写成一部 “韩国连续剧...那存储过程里面为什么要存在临时表,原因如下 , 1 复杂的多表查询中,数据库的优化引擎在牛B ,他也有算错的时候,无论是因为统计数据的错,还是语句写法的错,复杂的查询,如果变成多个简单的查询,都是没有坏处的...2 临时表可以在加索引,提高查询的效率(部分数据库还有 内存表) 3既然是临时表,其中的结果集应该不是很大,如果很大那就是另外一个话题了。...以上言论只针对,SQL SERVER , ORACLE ,PG , --- MYSQL 不在此讨论范围

    57820
    领券