考虑到数据优化,现将千万级数据作分表存储便与查询。
sql如何查找出number中第一位为1的数据:
标准写法:
select substring(cast(adv_id as varchar) from 1 for 1) as a1 from zhoz_sub_dat_6_3;
常规写法:
select substring(cast(adv_id as varchar), 1,1) as a1 from zhoz_sub_dat_6_3;
INSERT INTO zhoz_sub_dat_6_3
(media_id, adv_id, course_id, serial_code, os, carrier, media_referrer) SELECT media_id, adv_id, course_id, serial_code, os, carrier, media_referrer FROM zhoz_total_dat WHERE delete_flg=false AND substring(cast(adv_id as varchar), 1,1) = '2' AND substring(cast(media_id as varchar), 1,1) = '6';
这样执行多次就可以比较快速的Copy数据。
以上为PostgreSQL数据库,其它原理类似。
分表优化:千万级数据的插入方法
本机暂存
同分类推荐文章
- 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
- 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
- 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)
建议继续学习
- 为什么字段尽可能用NOT NULL,而不是NULL (累计阅读 8,512)
- MySQL优化 之 Discuz论坛MySQL通用优化 (累计阅读 7,727)
- 由12306.cn谈谈网站性能技术 (累计阅读 6,399)
- mysql sql 百万级数据库优化方案 (累计阅读 6,127)
- 冷热数据 (累计阅读 5,678)
- 详解MyISAM Key Cache(前篇) (累计阅读 5,001)
- 铁路订票网站个人的设计浅见 (累计阅读 4,548)
- 为什么长尾数据的翻页技术实现复杂 (累计阅读 4,555)
- 数据库开发规范 (累计阅读 4,441)
- Oracle11g中的result cache (累计阅读 4,275)