• 关于

    explain

    的搜索结果

回答

explain plan命令PL/SQL Developer中通过快捷键F5就可以查看目标SQL的执行计划了。但其实按下F5后,实际后台调用的就是explain plan命令,相当于封装了该命令。explain plan使用方法:1、执行explain plan for + SQL2、 执行select * from table(dbms_xplan.display);

inzaghi1984 2019-12-02 00:28:13 0 浏览量 回答数 0

回答

如果不知道是哪个sql慢,就开启mysql的慢查询日志。 对记录的日志文件用mysql安装目录下的bin目录下的 mysqldumpslow查看。 具体命令是 mysqldumpslow -s c -t 10 /path/to/slow.log。 可以提取出top10慢的sql语句模式。 这样就找到了哪些语句慢。找到之后分析的最简单手段是explain查看执行计划。 例如 explain select * from t where xxx order by xxx。查看explain的结果,可以看出索引使用情况,排序方式等。具体的结果查看mysql官方文档中explain命令的解释最好了。优化的最主要手段是确保索引建立正确。 如果索引方面没什么可优化的空间,那么多半是表结构设计不合理,或者查询方式组合不合理。 这个就要结合具体的业务去进行数据存储结构或程序架构的优化了。

蛮大人123 2019-12-02 01:43:01 0 浏览量 回答数 0

回答

如果不知道是哪个sql慢,就开启mysql的慢查询日志。 对记录的日志文件用mysql安装目录下的bin目录下的 mysqldumpslow查看。 具体命令是 mysqldumpslow -s c -t 10 /path/to/slow.log。 可以提取出top10慢的sql语句模式。 这样就找到了哪些语句慢。找到之后分析的最简单手段是explain查看执行计划。 例如 explain select * from t where xxx order by xxx。查看explain的结果,可以看出索引使用情况,排序方式等。具体的结果查看mysql官方文档中explain命令的解释最好了。优化的最主要手段是确保索引建立正确。 如果索引方面没什么可优化的空间,那么多半是表结构设计不合理,或者查询方式组合不合理。 这个就要结合具体的业务去进行数据存储结构或程序架构的优化了。

a123456678 2019-12-02 03:03:11 0 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

如果不知道是哪个sql慢,就开启mysql的慢查询日志。 对记录的日志文件用mysql安装目录下的bin目录下的 mysqldumpslow查看。 具体命令是 mysqldumpslow -s c -t 10 /path/to/slow.log。 可以提取出top10慢的sql语句模式。 这样就找到了哪些语句慢。找到之后分析的最简单手段是explain查看执行计划。 例如 explain select * from t where xxx order by xxx。查看explain的结果,可以看出索引使用情况,排序方式等。具体的结果查看mysql官方文档中explain命令的解释最好了。优化的最主要手段是确保索引建立正确。 如果索引方面没什么可优化的空间,那么多半是表结构设计不合理,或者查询方式组合不合理。 这个就要结合具体的业务去进行数据存储结构或程序架构的优化了。

我的中国 2019-12-02 01:40:26 0 浏览量 回答数 0

问题

postgresql auto_explain 与log打印时间不一致

绛云 2019-12-01 19:38:16 803 浏览量 回答数 1

回答

需要根据查询需求来决定配置索引的类型,一旦确定索引类型之后,可以使用 explain 查看 SQL 执行计划,确认索引是否满足需求。例如 https://blog.csdn.net/u014453898/article/details/55004193 。 需要根据查询需求来判断配置哪种索引,确定索引后,可以通过 explain 命令来查看执行计划,确认是否满足需求。https://blog.csdn.net/u014453898/article/details/55004193 根据查询需求决定配置的索引类型,确定后,使用 explain 来查看执行计划。

Idle 2019-12-02 02:00:12 0 浏览量 回答数 0

回答

你的问题让我好奇怪,你这个find()就是查出所有的数据了,里面又没有任何条件,索引怎么可能起作用呢……而且,你紧紧通过 db.peoples.find().pretty()就想看索引有无起作用是不对的,应该是db.peoples.find().explain(),通过这个explain()来看看mongodb有无使用到索引的###### 引用来自“jakic”的评论你的问题让我好奇怪,你这个find()就是查出所有的数据了,里面又没有任何条件,索引怎么可能起作用呢……而且,你紧紧通过 db.peoples.find().pretty()就想看索引有无起作用是不对的,应该是db.peoples.find().explain(),通过这个explain()来看看mongodb有无使用到索引的 多谢指教~

kun坤 2020-06-20 11:47:51 0 浏览量 回答数 0

回答

你的问题让我好奇怪,你这个find()就是查出所有的数据了,里面又没有任何条件,索引怎么可能起作用呢……而且,你紧紧通过 db.peoples.find().pretty()就想看索引有无起作用是不对的,应该是db.peoples.find().explain(),通过这个explain()来看看mongodb有无使用到索引的###### 引用来自“jakic”的评论你的问题让我好奇怪,你这个find()就是查出所有的数据了,里面又没有任何条件,索引怎么可能起作用呢……而且,你紧紧通过 db.peoples.find().pretty()就想看索引有无起作用是不对的,应该是db.peoples.find().explain(),通过这个explain()来看看mongodb有无使用到索引的 多谢指教~

kun坤 2020-06-02 19:28:00 0 浏览量 回答数 0

回答

MySQL 本身对 SQL 语句有个 EXPLAIN 命令,可以用 Navicat 这个客户端执行 SQL ,就可以直接 EXPLAIN

落地花开啦 2019-12-02 01:43:55 0 浏览量 回答数 0

问题

新插入了一条,用explain analyse ,这里怎么还是row=1

我叫石头 2019-12-01 19:23:21 431 浏览量 回答数 1

回答

使用.explain运算符,它将逻辑和(启用扩展标志)物理计划打印到控制台。 val records = spark. readStream. format("rate"). load scala> records.explain == Physical Plan ==StreamingRelation rate, [timestamp#0, value#1L] scala> records.explain(extended = true) == Parsed Logical Plan ==StreamingRelation DataSource(org.apache.spark.sql.SparkSession@4071aa13,rate,List(),None,List(),None,Map(),None), rate, [timestamp#0, value#1L] == Analyzed Logical Plan ==timestamp: timestamp, value: bigintStreamingRelation DataSource(org.apache.spark.sql.SparkSession@4071aa13,rate,List(),None,List(),None,Map(),None), rate, [timestamp#0, value#1L] == Optimized Logical Plan ==StreamingRelation DataSource(org.apache.spark.sql.SparkSession@4071aa13,rate,List(),None,List(),None,Map(),None), rate, [timestamp#0, value#1L] == Physical Plan ==StreamingRelation rate, [timestamp#0, value#1L]物理计划是DAG的转换,因此它可以帮助您。 这个链接可能会有所帮助: https://jaceklaskowski.gitbooks.io/spark-structured-streaming/spark-sql-streaming-Dataset-explain.html

社区小助手 2019-12-02 01:46:16 0 浏览量 回答数 0

回答

确认是内存不足引起的?signal 11 是 segment fault 一般是程序崩溃。如果是因为内存的问题,可以使用 EXPLAIN ANALYZE https://www.postgresql.org/docs/9.1/sql-explain.html 来检查是否因为某些 query 耗尽了资源。

khachapuri 2019-12-02 01:57:20 0 浏览量 回答数 0

回答

在env字段中没有这样的字段configMapRef,而是有一个名为configMapKeyRef的字段为了获得有关kubernetes对象的更多细节,使用kubectl解释--help很方便例如,如果要检查所有键及其类型,可以使用以下命令kubectl explain cronJob --recursivekubectl explain cronjob.spec.jobTemplate.spec.template.spec.containers.env.valueFrom.configMapKeyRef

k8s小能手 2019-12-02 01:57:05 0 浏览量 回答数 0

问题

LM计算引擎执行计划分析

nicenelly 2019-12-01 21:25:37 939 浏览量 回答数 0

问题

LM计算引擎执行计划分析

nicenelly 2019-12-01 21:11:01 1131 浏览量 回答数 0

问题

为什么做mysql语句查询主键,会使用其它的索引?

落地花开啦 2019-12-01 19:46:36 1156 浏览量 回答数 1

问题

mysql中explain执行结果中的rows统计原理是什么?

落地花开啦 2019-12-01 19:46:35 1258 浏览量 回答数 1

问题

一张表数据60w select一下要十几秒 特别慢,explain看row也没有索引膨胀的样子,真空分析都没有用,求指导

游客886 2019-12-01 19:38:26 306 浏览量 回答数 0

回答

如果能用索引覆盖扫描,则肯定会走索引,否则会根据索引、全表的代价决定了。最好用explain看下 mysql> explain select * from t1 where type>100000; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range idx_type idx_type 4 NULL 1 Using where 1 row in set (0.00 sec) mysql> select version(); version() 5.1.61-log 1 row in set (0.01 sec)

落地花开啦 2019-12-02 01:54:32 0 浏览量 回答数 0

回答

listen_addresses = '0.0.0.0' max_connections = 1000 superuser_reserved_connections = 13 unix_socket_permissions = 0700 tcp_keepalives_idle = 60tcp_keepalives_interval = 10tcp_keepalives_count = 6 shared_buffers = 1GB maintenance_work_mem = 512MBshared_preload_libraries = 'auth_delay,passwordcheck,pg_stat_statements,auto_explain' vacuum_cost_delay = 10msvacuum_cost_limit = 10000 bgwriter_delay = 10ms ’# wal_level = logical wal_buffers = 16MB checkpoint_segments = 64 checkpoint_timeout = 5min ‘# archive_mode = on ‘# archive_command = '/bin/date' ’# max_wal_senders = 32 random_page_cost = 2.0 effective_cache_size = 6GB #我的内存只有8G,80%大约就是6G log_destination = 'csvlog'logging_collector = onlog_truncate_on_rotation = onlog_rotation_age = 1dlog_rotation_size = 10MB log_min_duration_statement = 1000ms log_checkpoints = on log_connections = onlog_disconnections = onlog_error_verbosity = verbose # 在日志中输出代码位置 log_lock_waits = ondeadlock_timeout = 1s log_statement = 'ddl' track_activity_query_size = 2048 autovacuum = onlog_autovacuum_min_duration = 0 shared_preload_libraries = 'pg_stat_statements' auth_delay.milliseconds = 5000 # 认证失败, 延迟多少毫秒反馈auto_explain.log_min_duration = 5000 # 记录超过多少毫秒的SQL当时的执行计划auto_explain.log_analyze = trueauto_explain.log_verbose = trueauto_explain.log_buffers = trueauto_explain.log_nested_statements = truepg_stat_statements.track_utility=offpg_stat_statements.max = 1000pg_stat_statements.track = all 就用上面的参数,跑的测试,基本上照抄的德哥的优化1的设置,前面加#号的是跟主备相关的测试,因为我的是笔记本,单台机器,所以,没有启用这些参数。 其实,后面几步,有的已经做了,有的没有,prepared模式没有打开,异步日志没有打开(在用默认的),pgfincore已经做了,用函数代替简单的sql语句,也已经做了。你的文章里的机器,一开始就能到300多,我的笔记本,一直在30多打转,不确定是不是初始参数,设得就不合理啊? synchronous_commit = offwal_writer_delay = 10ms 加了异步日志,并使用了prepared的结果: (backend)xxxxxx@Tower:~/workspace/test_postgres/sql$ pgbench -M prepared -r -c 8 -f login.sql -j 8 -n -T 180 -h localhost -U digoalPassword: transaction type: Custom queryscaling factor: 1query mode: preparednumber of clients: 8number of threads: 8duration: 180 snumber of transactions actually processed: 5792tps = 31.978472 (including connections establishing)tps = 31.983547 (excluding connections establishing)statement latencies in milliseconds: 0.003740 \setrandom userid 1 20000000 249.734626 SELECT f_user_login(:userid); iostat -x显示util项跑满 avg-cpu: %user %nice %system %iowait %steal %idle 1.20 0.00 1.45 71.28 0.00 26.07 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %utilsda 0.00 22.00 130.00 40.33 1066.67 657.33 20.24 9.10 53.69 61.83 27.47 5.87 100.00

二哈 2019-12-02 01:29:31 0 浏览量 回答数 0

回答

一条MySQL的select语句,为什么性能会差别这么大 可以用EXPALIN 语句看看语句性能分析情况 用法是EXPLAIN SELECT XXXXXXXXXXXX; 也就是在你的语句前加EXPLAIN 另外或许题主是先执行语句二,然后执行语句一的,在这种情况下,语句二是没有缓存的,它执行过后会产生缓存,再执行语句一就会用到缓存,也就快得多了 答案来源网络,供参考,希望对您有帮助

问问小秘 2019-12-02 02:20:48 0 浏览量 回答数 0

问题

关于 MySQL 的索引合并的问题

落地花开啦 2019-12-01 19:51:57 1042 浏览量 回答数 1

问题

关于MySQL中EXPLAIN语句下的一个字段 id

蛮大人123 2019-12-01 19:50:30 1247 浏览量 回答数 1

问题

请教一个问题: create index idx_xxx_2 on tab using btree(ajbs) where ajbs='2' ;后执行 explain analyze select * from xxx where ajbs = '2';他依然不走索引,走的是顺序扫描,查询该字段所占比例大约占35% 以上,请问这样合理吗?

游客886 2019-12-01 19:42:03 220 浏览量 回答数 1

回答

auto explain

游客886 2019-12-02 02:04:41 0 浏览量 回答数 0

回答

explain sql index table 欄位

olifeme 2020-03-28 21:43:54 0 浏览量 回答数 0

回答

标题应该改一下呢?加上PostgreSQL吧。 有几篇更详细的讲PostgreSQL性能优化的http://yq.aliyun.com/articles/214http://yq.aliyun.com/articles/215还有专门讲参数优化的视频 PostgreSQL 性能优化视频(18集全) : 18. 性能优化培训 - 综合优化案例 http://www.tudou.com/programs/view/UeXudDhDaHU/ 17. 性能优化培训 - 性能分析工具3, pg_statsinfo的使用(与DBA培训同集) http://www.tudou.com/programs/view/5SUCgb7_hsY/ 16. 性能优化培训 - 性能分析工具2, pg_stat_statements http://www.tudou.com/listplay/JW66CCxpr-s/xkOD3u8kQkE.html (注意,里面有一些描述有问题。pg_stat_statements是在数据库启动时加载。 运行过程有write操作(和PG版本有个,以前的版本可以不持久化,没有write操作,现在的版本都有write操作),数据库关闭时fsync。) (在run到hook处时加载。) 15. 性能优化培训 - 性能分析工具1, sar http://www.tudou.com/listplay/JW66CCxpr-s/qX8HOgBZu2M.html 14. 性能优化培训 - PostgreSQL压力测试工具pgbench讲解 http://www.tudou.com/listplay/JW66CCxpr-s/OUl0DLhiJwg.html 13. 性能优化培训 - 如何让数据库输出好的执行计划, 访问开关, 指定表关联顺序, 遗传算法 http://www.tudou.com/listplay/JW66CCxpr-s/dS2x85nosBw.html 12. 性能优化培训 - PostgreSQL锁的详解 http://www.tudou.com/listplay/JW66CCxpr-s/OsRGPcGEL9M.html 11. 性能优化培训 - PostgreSQL事务隔离级别讲解 http://www.tudou.com/listplay/JW66CCxpr-s/2sqzjiuqKFY.html 10. 性能优化培训 - 函数的三种稳定性状态对优化器的影响分解讲解 http://www.tudou.com/programs/view/p6E3oQEsZv0/ 9. 性能优化培训 - PostgreSQL trace & debug (跟踪和调试) http://www.tudou.com/programs/view/SbglCp2T3t4/ 8. 性能优化培训 - 执行计划缓存管理, 绑定变量接口 http://www.tudou.com/programs/view/kwmilXD7JEw/ 7. 性能优化培训 - auto_explain插件, 索引扫描引发的heap page scan被放大的实例讲解 http://www.tudou.com/programs/view/LwMWC4ZpOhU/ 6. PostgreSQL 性能优化培训 - 执行计划成本因子(page scan cost, cpu cost)的校准方法实例讲解 http://www.tudou.com/programs/view/yQ0SzBqx_4w/ 5. PostgreSQL 性能优化培训 - 行评估算法讲解, 成本计算实例讲解 http://www.tudou.com/programs/view/3zgOuh7kbfs/ 4. PostgreSQL 性能优化培训 - explain 实例讲解 http://www.tudou.com/programs/view/QztOh_hCFKw 3. PostgreSQL 性能优化培训 - explain输出结构信息详解 http://www.tudou.com/programs/view/OZSUbOFZ0U4 2. PostgreSQL 性能优化培训 - 统计信息详解, 成本因子介绍 http://www.tudou.com/programs/view/oA1v5sDFq3Q/ 1. PostgreSQL 性能优化培训 - 授课环境搭建讲解 http://www.tudou.com/programs/view/AVCbdfl9rH8/ 建议的参数项 echo "----->>>---->>> 获取postgresql.conf配置: " grep '^\ *[a-z]' $PGDATA/postgresql.conf|awk -F "#" '{print $1}' echo "建议: " echo " 主备配置尽量保持一致, 配置合理的参数值." echo -e " 建议修改的参数列表如下 ( 假设操作系统内存为128GB, 数据库独占操作系统, 数据库版本9.4.x ) : echo "" listen_addresses = '0.0.0.0' # 监听所有IPV4地址 port = 1921 # 监听非默认端口 max_connections = 4000 # 最大允许连接数 superuser_reserved_connections = 20 # 为超级用户保留的连接 unix_socket_directories = '.' # unix socket文件目录最好放在$PGDATA中, 确保安全 unix_socket_permissions = 0700 # 确保权限安全 tcp_keepalives_idle = 30 # 间歇性发送TCP心跳包, 防止连接被网络设备中断. tcp_keepalives_interval = 10 tcp_keepalives_count = 10 shared_buffers = 16GB # 数据库自己管理的共享内存大小 huge_pages = try # 尽量使用大页, 需要操作系统支持, 配置vm.nr_hugepages*2MB大于shared_buffers. maintenance_work_mem = 512MB # 可以加速创建索引, 回收垃圾(假设没有设置autovacuum_work_mem) autovacuum_work_mem = 512MB # 可以加速回收垃圾 shared_preload_libraries = 'auth_delay,passwordcheck,pg_stat_statements,auto_explain' # 建议防止暴力破解, 密码复杂度检测, 开启pg_stat_statements, 开启auto_explain, 参考 http://blog.163.com/digoal@126/blog/static/16387704020149852941586 bgwriter_delay = 10ms # bgwriter process间隔多久调用write接口(注意不是fsync)将shared buffer中的dirty page写到文件系统. bgwriter_lru_maxpages = 1000 # 一个周期最多写多少脏页 max_worker_processes = 20 # 如果要使用worker process, 最多可以允许fork 多少个worker进程. wal_level = logical # 如果将来打算使用logical复制, 最后先配置好, 不需要停机再改. synchronous_commit = off # 如果磁盘的IOPS能力一般, 建议使用异步提交来提高性能, 但是数据库crash或操作系统crash时, 最多可能丢失2*wal_writer_delay时间段产生的事务日志(在wal buffer中). wal_sync_method = open_datasync # 使用pg_test_fsync测试wal所在磁盘的fsync接口, 使用性能好的. wal_buffers = 16MB wal_writer_delay = 10ms checkpoint_segments = 1024 # 等于shared_buffers除以单个wal segment的大小. checkpoint_timeout = 30min checkpoint_completion_target = 0.2 archive_mode = on # 最好先开启, 否则需要重启数据库来修改 archive_command = '/bin/date' # 最好先开启, 否则需要重启数据库来修改, 将来修改为正确的命令例如, test ! -f /home/postgres/archivedir/pg_root/%f && cp %p /home/postgres/archivedir/pg_root/%f max_wal_senders = 32 # 最多允许多少个wal sender进程. wal_keep_segments = 2048 # 在pg_xlog目录中保留的WAL文件数, 根据流复制业务的延迟情况和pg_xlog目录大小来预估. max_replication_slots = 32 # 最多允许多少个复制插槽 hot_standby = on max_standby_archive_delay = 300s # 如果备库要被用于只读, 有大的查询的情况下, 如果遇到conflicts, 可以考虑调整这个值来避免conflict造成cancel query. max_standby_streaming_delay = 300s # 如果备库要被用于只读, 有大的查询的情况下, 如果遇到conflicts, 可以考虑调整这个值来避免conflict造成cancel query. wal_receiver_status_interval = 1s hot_standby_feedback = on random_page_cost = 2 # 根据IO能力调整 effective_cache_size = 100GB # 调整为与内存一样大, 或者略小(减去shared_buffer). 用来评估OS PAGE CACHE可以用到的内存大小. log_destination = 'csvlog' logging_collector = on log_truncate_on_rotation = on log_rotation_size = 10MB log_min_duration_statement = 1s log_checkpoints = on log_connections = on log_disconnections = on log_error_verbosity = verbose # 在日志中输出代码位置 log_lock_waits = on log_statement = 'ddl' autovacuum = on log_autovacuum_min_duration = 0 autovacuum_max_workers = 10 autovacuum_naptime = 30s # 快速唤醒, 防止膨胀 autovacuum_vacuum_scale_factor = 0.02 # 当垃圾超过比例时, 启动垃圾回收工作进程 autovacuum_analyze_scale_factor = 0.1 auth_delay.milliseconds = 5000 # 认证失败, 延迟多少毫秒反馈 auto_explain.log_min_duration = 5000 # 记录超过多少毫秒的SQL当时的执行计划 auto_explain.log_analyze = true auto_explain.log_verbose = true auto_explain.log_buffers = true auto_explain.log_nested_statements = true pg_stat_statements.track_utility=off

德哥 2019-12-02 01:29:26 0 浏览量 回答数 0

回答

explain analyze 分析一下时间耗哪儿了。

我叫石头 2019-12-02 01:54:52 0 浏览量 回答数 0

回答

配置慢查询可以用explain查看索引使用情况

技术&生活 2019-12-02 01:39:59 0 浏览量 回答数 0

回答

建议使用explain来显示是否执行计划发生了变化

djalaa 2019-12-02 01:43:12 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 阿里云双十一主会场 阿里云双十一新人会场 1024程序员加油包 阿里云双十一拼团会场 场景化解决方案 阿里云双十一直播大厅