IT技术博客大学习 共学习 共进步

分表优化:千万级数据的插入方法

Everyday NetLog 2018-07-05 13:43:57 浏览 3,081 次

考虑到数据优化,现将千万级数据作分表存储便与查询。

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数据库,其它原理类似。

建议继续学习

  1. 海量数据面试题举例 (阅读 10,820)
  2. 三种东西永远不要放到数据库里 (阅读 7,862)
  3. MySQL使用为什么要分库分表 (阅读 5,261)
  4. 如何对统计数据进行分析 (阅读 4,980)
  5. 从数据中了解用户——数据在新产品设计中的应用 (阅读 4,300)
  6. 数据即代码,我和小伙伴们都惊呆了! (阅读 4,302)
  7. 从数据中了解用户——数据在现有产品改版设计中的应用 (阅读 4,200)
  8. 方法论 (阅读 4,180)
  9. PHP系统学习概要 (阅读 3,700)
  10. 我们需要什么样的网站数据 (阅读 3,400)