- 博客(24)
- 资源 (9)
- 收藏
- 关注
原创 理解PostgreSQL查询执行计划(四)--常见操作解析
本文深入解析了 PostgreSQL 执行计划中的常见操作类型,帮助理解查询优化和执行过程。重点介绍了以下操作: Unique 操作:用于去重,需排序数据,内存占用低。 Append 操作:合并多个子操作的结果集,常用于 UNION/UNION ALL 查询。 Result 操作:处理简单查询,如选择常量值。 Values Scan 操作:处理 VALUES 子句生成的数据集。 GroupAggregate 操作:对已排序数据进行分组聚合。 HashSetOp 操作:处理 INTERSECT/EXCEPT
2025-05-22 07:20:03
396
原创 理解PostgreSQL查询执行计划(三)--复杂操作篇
在本系列的前一篇文章中,我们探讨了如何解读执行计划输出的单行结构,并介绍了所有基本的数据获取操作(解释树中的节点)。今天,我们将深入讨论更复杂的操作。
2025-05-19 21:08:09
694
原创 理解PostgreSQL查询执行计划(二)--表扫描操作详解
本文深入探讨了PostgreSQL中的表扫描操作类型,包括顺序扫描、索引扫描和仅索引扫描。顺序扫描是最基础的数据获取方式,会逐页读取表数据文件;索引扫描则通过利用索引来高效访问数据,并能避免显式排序;仅索引扫描是PostgreSQL 9.2引入的优化,当查询只需返回索引列数据时,可以完全避免访问表数据页,从而提升性能。这些扫描操作是查询执行计划的基础,对数据库查询性能有着重要影响。
2025-05-17 14:08:28
906
原创 理解PostgreSQL查询执行计划(一)
本文介绍了PostgreSQL中EXPLAIN命令的使用及其输出解析。EXPLAIN是DBA优化查询性能的重要工具,但其输出对初学者来说可能较为复杂。文章从基础概念入手,解释了执行计划的结构、成本估算的含义以及索引使用的决策逻辑。通过简单案例和实际执行分析,展示了如何解读EXPLAIN的输出,并指出了执行计划中的常见陷阱。最后,文章总结了理解EXPLAIN的重要性,并预告了后续将深入探讨的执行操作、统计系统和高级分析技巧。掌握这些知识有助于有效诊断和解决查询性能问题。
2025-05-17 13:43:58
693
原创 Flask + ajax上传文件(四)--数据入库教程
本教程将详细介绍如何使用Flask后端和AJAX前端实现Excel/csv文件上传,并将数据导入数据库的功能。
2025-04-28 23:23:03
1196
原创 Flask + ajax上传文件(三)--图片上传与OCR识别
本教程将详细介绍如何使用Flask框架构建一个图片上传与文字识别(OCR)的Web应用。我们将使用EasyOCR作为OCR引擎,实现一个支持中文和英文识别的完整应用。
2025-04-26 23:14:33
1128
原创 Flask + ajax上传文件(二)--多文件上传
多文件选择上传功能自动时间戳命名避免冲突详细的文件信息返回完善的错误处理机制这种实现方式适合大多数Web应用的文件上传需求,可以直接用于生产环境,也可以根据具体需求进一步扩展功能。
2025-04-24 21:30:42
1401
原创 Flask + ajax上传文件(一)--单文件上传
本教程将教你如何使用Flask后端和AJAX前端实现文件上传功能,包含完整的代码实现和详细解释。本教程实现了Flask后端接收文件、AJAX前端异步上传的完整流程。后端使用接收文件前端使用FormData构建表单数据AJAX配置和为false完善的错误处理机制。
2025-04-24 20:36:53
505
原创 执行python3 get-pip.py报错:ERROR: Could not find a version that satisfies the requirement pip ERROR: No
执行python3 get-pip.py报错:Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org’, port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(“Can’t connect to
2021-02-21 21:45:26
1886
原创 Oracle优化like
原查询sql,表数据量230万*SELECT * FROM dep_l_0000532801 WHERE XY10101001 like '%西部资信%';--like太慢,耗时7.73秒创建全文索引:*CREATE INDEX IDX_0000532801 ON dep_l_0000532801(XY10101001) INDEXTYPE is CTXSYS.CONTEXT;**修改后的语句为:*`SELECT * FROM dep_l_0000532801 WHERE contains(X
2020-06-24 10:08:11
313
原创 MySQL5.7数据库字符集和排序规则有四个级别的默认设置:服务器,数据库,表和列。
MySQL5.7数据库字符集和排序规则有四个级别的默认设置:服务器,数据库,表和列。最初,服务器字符集和排序规则取决于启动mysqld时使用的选项。可以使用 --character-set-server该字符集。同样可以添加 --collation-server用于排序规则。这些可以在服务器启动时在命令行或选项文件中进行设置,并可以在运行时进行更改。一般开发我们要求MySQL数据库存放中文数据,所以在MySQL配置文件里面一般会指定字符集和排序规则。我们可以执行SHOW CHARACTER SET,
2020-05-29 11:24:28
2221
原创 ORA-01722: 无效数字Kettle插入Oracle报错
如图,表输入插入更新到Oracle,这是由于Oracle目标字段为数字而数据流(表输入)对应字段含有字符串的情况解决:如图将字符串转为数字即可,我这里源端是Mysql,其他数据库可以自行调整转换。...
2020-05-28 09:16:26
2655
原创 Oracle闪回表数据
操作Oracle数据表有的时候,我们不小心delete了某张表数据,事务已提交,可以闪回查询某个时间的数据,如图,查询2020-05-26 12点的数据,同时可以增加过滤条件。上面这个语句快照有效期是几天时间,不然会报错ORA-01555: 快照过旧: 回退段号,具体时间等研究完来补充。...
2020-05-26 14:55:28
309
原创 column is of type timestamp without time zone but expression is of type character varying解决
java插入postgresql问题:ERROR: column “collecttime” is of type timestamp without time zone but expression is of type character varying建议:You will need to rewrite or cast the expression.解决:jdbc:postgres...
2020-04-28 17:58:08
10440
2
原创 ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY解决kettle报错
原因:Oracle有些字段不能为空值插入解决:1,只需将前面默认的空值删除即可2,也可以在表输出或者插入更新中去除掉如图,将这三列删除即可
2020-04-13 11:05:33
1877
原创 Mysql通过frm文件恢复表结构
首先找一个安装目录下载dbsakecurl -s get.dbsake.net > dbsake给与权限chmod u+x dbsake通过指定frm目录和输出路径,这里以我自己机器5.7环境为主./dbsake frmdump /home/mysql/data/piaowu/*.frm > piaowu.sql完后检查下sql文件是否表结构已经提取出来。另外还有一个工具...
2020-04-08 17:49:23
281
原创 selenium取不到标签文本数据解决
如图span中间标签无法通过xpath.text取到换成get_attribute(‘textContent’)即可
2020-04-08 17:18:51
881
原创 Timestamp : Unable to compare with value [Binary]kettle插入到Oracle报错
kettle插入更新到Oracle报错Timestamp : Unable to compare with value [Binary],Binary : can’t be converted to a timestamp如图:原因一般是表输入有为空的日期,修改默认值解决即可以前这里是null改为一个默认日期即可。...
2020-04-07 19:21:50
2347
原创 The server quit without updating PID file解决MySQL启动报错
The server quit without updating PID file(…)首先ps-ef|grep mysql查看进程是否已经存在,确保不存在,则:1.可能是/home/mysql/data/文件夹没有写的权限执行 “chown -R mysql:mysql /home/mysql/data”“chmod -R 755 /home/mysql/data”然后重新启动2.可...
2020-03-28 11:43:43
486
原创 Oracle查询A表不在B表中数据(以没建索引的字段为例)
Oracle查询A表不在B表中数据的四种方法,这里以用户表和索引表为例,即查询用户字段没有建索引的表名称。以下查询耗时为个人数据库实际情况检测,仅供参考。select * from user_tab_columns a–耗时6秒where concat(a.table_name,a.column_name)not in(select concat(b.table_name,b.colum...
2020-03-27 17:00:17
3404
原创 Mysql查询带中文列名的记录
有的时候我们希望查出来的数据列名是中文,可以这样selectconcat(‘select ‘,group_concat(column_name,’ as ‘,if(instr(column_comment,’(’) >0,left(column_comment,instr(column_comment,’(’)-1),column_comment),char(13)),’ from ',...
2020-01-21 15:01:46
3824
原创 Mysql创建每天执行存储过程的事件
CREATE EVENT e_api_log_dailyON SCHEDULE EVERY 1 DAY STARTS ‘2019-12-29 01:00:00’ON COMPLETION PRESERVE ENABLEDOcall api_log_statistics(DATE_ADD(CURDATE(), INTERVAL -1 DAY),@a);
2020-01-21 14:13:52
625
原创 mysqlbinlog恢复某段时间的数据
mysqlbinlog -d ods --skip-gtids=true --start-datetime=“2020-01-20 9:54:26” --stop-datetime=“2020-01-20 9:56:09” /home/mysql/log/mysql-bin.000004 |mysql -uroot -p
2020-01-21 13:48:08
1221
原创 数据库数据迁移到Mysql5.6/5.7的方案
数据库数据迁移到Mysql5.6/5.7的方案数据迁移到Mysql5.6/5.7的方案介绍:Mysql是一种开放源代码的数据库管理系统(DBMS),它是由Mysql AB公司开发、发布并支持的。Mysql是一种跨平台的开源关系型数据库管理系统,广泛地应用在Internet的中小型开发网站中。优点(摘自网上总结):1、性能卓越服务稳定,很少出现异常宕机。2、开放源代码且无版权制约,自主性...
2020-01-10 16:26:20
1195
kettle中文文档之output.doc
2019-06-28
SQL导出MySQL单个存储过程.txt
2019-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人