欢迎访问:如何把很多结果一样的表放在一起统计_美容时尚_生活服务_精致生活网
  • 微信客服微信客服
  • 微信公众号微信公众号

如何把很多结果一样的表放在一起统计

收藏  分享
网友发布网友发布

如何把很多结果一样的表放在一起统计

一:Merge表的原理及优点

在Mysql数据库中,Merge表有点类似于视图。mysql的merge引擎类型允许你把许多结构相同的表合并为一个表。之后,你可以执行查询,从多个表返回的结果就像从一个表返回的结果一样。每一个合并的表必须有完全相同表的定义和结构。

1.1 Mysql Merge表的优点:

A. 分离静态的和动态的数据

B. 利用结构接近的的数据来优化查询

C. 查询时可以访问更少的数据

D. 更容易维护大数据集

E. 可以通过修改.mrg文件来修改Merge表,当然也可以用alter进行修改,修改后要通过FLUSH TABLES刷新表缓存,此法可以动态增加减少子表

1.2 merge表存储引擎在如下这种使用场合会最为有用:

1,2,1 网上这样说:

如果需要把日志记录不停的录入MySQL数据库,并且每天、每周或者每个月都创建一个单一的表,而且要制作来自多个表的合计查询,MERGE表这时会非常有效。然而,这项功能有局限性。你只能合并MyISAM表而且必须严格遵守相同的表定义的限制。虽然这看起来好像是一个大问题,但是,如果你使用另外一种表类型(例如InnoDB),这种合并可能就不需要.

1.2.2 我的感觉最直接的用途: 可以把很多表的统计使用一张表来统计,方便我们的统计,例如,统一账户有1000个流水表,如果要用sql来做这个,你会想到什么,是union 吗?当然可以,但是你可以试一下,union时表的个数最大是61个,这样是不是不行了;如果你用merge表那就很简单,就可以在一个表里面做你的统计了(merge表应该也有表的限制,但是我没有找到这个说明),统一账户有1000个表,我创建了4个merge表(之前创建了1个,select是报错“Can't open file: './uni_acct/t_acct_water_504.frm' (errno: 24)”,然后换成4个,两个其实也可以,哈哈;具体merge表union的表数目限制从测试看应该是503,这个数据不一定准确,只是我的一个测试值(有可能和表的数据量也有关))

二 merge表的创建和注意事项:

2.1 如何创建merge表

基本表:

CREATE TABLE TEST_MERGE_1(

ID INT(5) NOT NULL,

VALUE VARCHAR(100) NOT NULL,

PRIMARY KEY(ID)

);

CREATE TABLE TEST_MERGE_2(

ID INT(5) NOT NULL,

VALUE VARCHAR(100) NOT NULL,

PRIMARY KEY(ID)

);

MERGE表:

CREATE TABLE TEST_MERGE(

ID INT(5) NOT NULL,

VALUE VARCHAR(100) NOT NULL,

PRIMARY KEY(ID)

) TYPE=MRG_MyISAM INSERT_METHOD=LAST UNION=(TEST_MERGE_1,TEST_MERGE_2);

2.2 说明:

1. 此表结构必须与基本表完全一致,包括列名、顺序(注意主键,索引这些可以不同)。UNION表必须同属一个DATAbase。

2. 此表类似于SQL中的union机制。

3. 基本表类型必须是MyISAM的。

4. 可以通过修改.mrg文件来修改MERGE表,每个基本表的名字占一行。注意:修改后要通过FLUSH TABLES刷新表缓存。

5. 对基本表的更改可以直接反映在此表上。

6. INSERT_METHOD的取值可以是: 0 不允许插入 FIRST 插入到UNION中的第一个表 LAST 插入到UNION中的最后一个表。(4.0之后可用)

7. 定义在它上面的约束没有任何作用,约束是由基本表控制的,例如两个基本表中存在着同样的一个Key值,那么在MERGE表中会有两个一样的Key值。

2.3 注意:

1.如果是通过修改.mrg文件的方式来修改MERGE表,那么一定要修改后要通过FLUSH TABLES刷新表缓存,否则修改不会生效。最近犯过一次这样的错误。

2.在数据量、查询量较大的情况下,不要试图使用Merge表来达到类似于Oracle的表分区的功能,会很影响性能。我的感觉是和union几乎等价。

3.查询结果及顺序与创建Merge表时联合表的顺序有关。

看下面的例子:

CREATE TABLE `allentest5` (

`a` int(11) NOT NULL default '0',

`b` varchar(11) default NULL,

PRIMARY KEY (`a`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1

CREATE TABLE `allentest6` (

`a` int(11) NOT NULL default '0',

`b` varchar(11) default NULL,

PRIMARY KEY (`a`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1

CREATE TABLE `allentest_mrg_5`

(

`a` int(11) NOT NULL default '0',

`b` varchar(11) default NULL,

primary key(a)

)ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`allentest5`,`allentest6`);

CREATE TABLE `allentest_mrg_6`

(

`a` int(11) NOT NULL default '0',

`b` varchar(11) default NULL,

primary key(a)

) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`allentest6`,`allentest5`);

CREATE TABLE `allentest_mrg_6_noKey` (

`a` int(11) NOT NULL default '0',

`b` varchar(11) default NULL

) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`allentest6`,`allentest5`)

原始表里面的数据:

select * from allentest5;

+---+---------+

| a | b |

+---+---------+

| 3 | test5_3 |

| 2 | test5_2 |

| 1 | test5_1 |

+---+---------+

select * from allentest6;

+---+---------+

| a | b |

+---+---------+

| 1 | test6_1 |

| 2 | test6_2 |

+---+---------+

几个merger表的结果

select * from allentest_mrg_6_noKey where a =1; / *没有主键*/

+---+---------+

| a | b |

+---+---------+

| 1 | test6_1 |

| 1 | test5_1 |

+---+---------+

select * from allentest_mrg_5 where a = 1;

+---+---------+

| a | b |

+---+---------+

| 1 | test5_1 |

+---+---------+

select * from allentest_mrg_6 where a = 1;

+---+---------+

| a | b |

+---+---------+

| 1 | test6_1 |

+---+---------+

select * from allentest_mrg_5;

+---+---------+

| a | b |

+---+---------+

| 3 | test5_3 |

| 2 | test5_2 |

| 1 | test5_1 |

| 1 | test6_1 |

| 2 | test6_2 |

+---+---------+

select * from allentest_mrg_6;

+---+---------+

| a | b |

+---+---------+

| 1 | test6_1 |

| 2 | test6_2 |

| 3 | test5_3 |

| 2 | test5_2 |

| 1 | test5_1 |

+---+---------+

select * from allentest_mrg_6_noKey;

+---+---------+

| a | b |

+---+---------+

| 1 | test6_1 |

| 2 | test6_2 |

| 3 | test5_3 |

| 2 | test5_2 |

| 1 | test5_1 |

+---+---------+

可以看到如下信息:

1) mrg表查询的结果和 union的表顺序一致(见select * from allentest_mrg_5;和select * fromallentest_mrg_6;);

2)mrg主键的问题;a.在查询时如果不带条件,这时候查询出来的数据和没有带主键的是一样的(见select * from allentest_mrg_6; 和 select * from allentest_mrg_6_noKey;);b.如果带条件(带有主键的查询),这样之后查询到第一个带有主键的内容(见select * from allentest_mrg_6_noKey where a =1; select * from allentest_mrg_5 where a = 1; 和 select * from allentest_mrg_6 where a = 1;) ;因此如果是做统计,那么在创建mrg表时尽量不要增加主键。

DRGT-P03EK7-608GSC-E1F200 8AS5167JL54R

Q0TM0T-M875G7-5I9ISF-SGF200 8AVTA97J7546

C0HTGG-S04F44-6P98SD-21F200 8ALJ1K7JT54W

7GS98V-QT6RA7-MF9USC-6HF200 8AXJA17JI54D

40LPGT-Q05E47-6890SC-61F200 8A3E1Z7JH547

5GVP8V-QC7M27-MB9MSC-B1F200 8ASCAQ7JS54T

L3401T-U8Q00F-7AE3SU-JHF200 8AJ9AM7JV542

CJ0TQ0-S4P768-6QEASV-H1F200 8AP5AV7JA54X

PGUMPT-M47DM7-5H9GSF-TGF200 8AUZAB7JQ54A

LHVG9V-UCFK2F-NBBMSF-B1F200 8AP6BI7JH54S

00JRGV-P04VK7-M09CSC-G1F200 8AI71P7JK544

PGT6PT-M471M7-5H9JSF-U0F200 8A9LAE7JW54T

B08F0P-RP23P6-6M8SSD-7HF200 8A1UB37J754S

10MA0V-P85IG7-M297SC-HHF200 8AFP167JW54S

B30F10-RPP3P8-6MEBSV-FHF200 8AQRAW7JZ54B

8J8VQP-R4R7ME-6HERSV-91F200 8A2MA77JR54S

807VGV-R01WK7-MG84SD-41F200 8AB5B67JP54W

0GCRPT-P436M7-618ISC-D1F200 8AT11M7JT54M

G1JIHV-T0CTKF-N0BCSF-G1F200 8A3ICZ7JM54G

QASMRW-EAMUMN-SIUTSD-STF200 8ABAX5QJM54M

PRR62W-V6MHGN-WHUWSD-TCF200 8AC8X3QJ5543

7ARQRV-9RMMEN-IEUVSE-2TF200 8A23XZQJ754J

7AUQRU-9RNEEN-AEUGSE-5TF200 8AEWXPQJT54U

1ATRRR-8AN6MM-I2UISE-TTF200 8A3YXRQJD54H

GHQ2QP-T4E8ME-71BQSF-PHF200 8AXWB67JS54K

GHPIQP-T4E4ME-71BRSF-Q1F200 8AY4BI7JE544

J1P31P-TPE0PE-76BSSF-NHF200 8AZVBH7JZ54F

G1NIHV-T0DTKF-N0B4SF-K1F200 8AAMC77J454G

HHMI9V-TCDKIF-N3B6SF-J1F200 8ABXCL7J254S

K1LGHT-U0DC4F-78B0SF-61F200 8A2RC17JK54M

CHHCQG-34CB6C-0QB9SC-12F200 8AKBC27JY54K

J1G31G-TPC0PC-76BBSF-WHF200 8A5AC57JV549

K1FGHV-U0BT4F-N8AKSF-T1F200 8ALWCP7JC54G

LHEG9V-UCBK2F-NBAMSF-S1F200 8A6SCJ7JP548

G1DIHT-T0BCKF-70AGSF-E1F200 8APSCH7JI54E

GHCIQT-T4B4MF-71AISF-D1F200 8A79CG7J354U

K1BGHV-U0AT4F-N8ATSF-P1F200 8ASZCT7J354V

NHB19V-UTAPAF-NFAUSF-MHF200 8A86C97JF54S

NHAH9V-UTAKAF-NFAVSF-N1F200 8ATWC47JF545

8H9EQP-24ABME-0HAQSC-92F200 8AWRC47JD548

MGQFK2-UK6BUO-NDACSB-WAE200

7A74HICS2H49

RBWQPF-EIWVE3-SKRVSA-5SE200

7ANB7QWCDI4G

MSTWEH-DMW7SK-BDR8S3-Q0E200

7A77TLWUJI4A

HJVJ3E-4CWKPS-H3ABS3-0RE200

7AF9BLSRHI4Z

71V20C-QPFGG3-6EDVS6-50E200

7ARWDWMQ2J41

K27JCN-50HTS5-Q8EDSD-N55200

4AIU2W8NRA46

7p1632-1v09gp-gfrfs1-p75200

4a9vxq6sfa4h

vugp3l-nnc60u-dui3se-r55200

rcsmzkis

WI5DBD-WTHBAS-FWE6ST-WJ5200

4A8F7367MA4F

B4NN4K-AQ5UQ5-2M1K6U-LJ4200

RBSYQXHJ

0QGUAU-P6C7AN-E1P9S8-35E200

7AZDAI8B6H4Z

0GM0QA-845G6A-I1APSD-80E200

7AA91Z7ZBH4P

M2B7QU-DGIQVF-BCF9S9-97E200

7A2AY6NTKH4X

cj415j-b4q09c-rqdhsn-9be200

7awzesiveh4d

I8EURA-CI3NEI-J4TCS8-EEE200

7APN5JPPA44H

NBDH7T-LRSC9W-5EVNSQ-GME200

6ANMI9H1NF4T

8BD3HW-R2S8TF-VGWASI-H0E200

6A25THTRZ34R号P/N:3503832357

3PU8KQ-8V7A56-A7QRS4-HCE200

6ADS649FFF49

us9k4h-werd14-fsr1sa-ime200

7aeu9fv7w44q

b3kivl-ipu4nl-cmbis4-lue200

7atbst6ih44g

4ql75p-h6d9qe-49pls4-spe200

7arjj6u8fh4i

N3JKLN-5PTU5D-QEABSB-V3E200

7arpq17t744i

T39NT5-W0RDW1-FPDES1-09D200

5APK5A2G7B49

N6AWEQ-DQINSM-BE7SS9-16D200

4AHM9AUNT141

4JU2DM-H4W8JD-K9B6SQ-21D200

5ARLJJ1AJC4R

1tibgg-pf4it4-63m3rn-5cd200

6aul4dnaie44

A6MB35-RHLIPQ-EK6SSA-6HD200

4AF7GBE1WB4P

11EGH7-88BK49-R2E5SB-74D200

5A5YVJRE1C4S

u0skq2-n86u68-lrdcrl-7td200

5apkcvtb4c4a

VH8C9R-7KA32E-HU9DS3-D4D200

5AAMCIK39B47

05G3ES-P1C0JM-V04WS2-FSD200

6BH7AU1JBE48

71GF4S-QPC3Q6-VE8RSC-IGD200

5ADT7UGK1B4T

1BR2VD-0AVGNJ-82Q0S4-JRD200

5ADWUDBVF241

QJQE00-6CVBG0-1JBFSA-KCD200

5ANZE67Y5B4K

FLP7FE-BUE1SS-IW0WS9-KUD200

4ARUKU1QN144

DADGM1-3AJC5G-8RP0S9-M1D200

5A3H3D4BFC4P

hb21ir-kapgcm-l2sdsf-mud200

5amdp4mqbc4m-P/N:6505280032

mlj9an-ulcral-wd4nsc-nnd200

6ama4k8mhe4w

B4NN4K-AQ5UQ5-2M1K6U-LJ4200

RBSYQXHJ

IC8TD4-TJ2739-74HMR6-NW4200

RC2EAUH9

RD7PKG-EJ9VD4-3KJE06-SW4200

H2A7T5VG

SK72BG-MU1PIT-5N3ERM-R1D200

4AENBBPMR141pin-6500587326

S8PV67-MR67HH-UMUAS5-R3D200

5ATJG9BBFC45

ESMBG4-BMUIK1-2UVDNV-S84200

ID是:HCIV29P2

WFB77A-FSRQHR-JVMCPK-TS4200

HB9PSB7C

S7V47D-VQWH9S-FM76MT-VN4200

HBEMK35A

2008下载版最新激活码:

序列号: CSA5V1-S7RJNG-EQV4S6-G8E200 用户安装ID:U2MZUAJ6QFVR

序列号: 36RDFV-PQMJ3W-M65EGV-RN4200 用户安装ID:W2X2E2GPQ9Q1

序列号: TV3MI2-N6GTCG-LQL8S5-7L5200 用户安装ID:W1QC96MXA8L4

序列号: LDQ5RQ-LAE8MM-DALMRG-9PD200 用户安装ID:4HDP6HPCC245

序列号: AM01HI-RKG1KC-ML15S5-UUD200 用户安装ID:W2L2CYG9QK7J

序列号: 4KS0LG-146QUC-092JRL-T8D200 用户安装ID:W2C25JCJHALB

序列号: C6441W-J0H0PF-TP1AS5-45D200 用户安装ID:W2G2YY7T33PF

序列号: A7GMKR-2GT4D6-GK24S8-9GD200 用户安装ID:W2C2KYEMJ3UX

序列号: 67QTD0-HGVES8-4C0HRG-NQD200 用户安装ID:W2ZDBC4QAXQG

序列号: 7CET7T-HR3MQW-4EMQRB-J2D200 用户安装ID:4H77DRQC1242

可升级激活码:

序列号: twhgm4-n2tduh-5qj7rm-06d200 用户安装ID:4h476397qb4p

序列号: AC9G7K-2I2DQU-0KLHRN-J2D200 用户安装ID:W2428YEFRACH

序列号: ACKWII-AI564K-IKLQRN-HWD200 用户安装ID:W2B27YE6Y13T

序列号: NKL8HB-DT5BTA-SF69RH-WUD200 用户安装ID:W22D3EJGK5Z3

序列号: NKNJP5-LT5U61-DF6CRL-PMD200 用户安装ID:W2ZDMEJQKXIA

序列号: W1EB04-FQBJ01-3V8FSB-PG5200 用户安装ID:W252BGJASD5R

序列号: TIW2MK-W5NQDL-7QFDRK-395200 用户安装ID:W2Z2CGJHSC2H

序列号: 54VUUH-187MNC-8A4PR2-WPD200 用户安装ID:W2T2GXEUGYI4

序列号: 3UN97B-PVDSHR-V7NURN-NAD200 用户安装ID:W2U28WW15E43

序列号: 4WW961-16WSHG-89ITRH-SRD200 用户安装ID:W2X279SDENS5

序列号: 7L2PC9-QT8NS2-EF56RR-E1D200 用户安装ID:W24DWC5BVTKT

序列号: 0473L2-801Q58-I07WRS-THD200 用户安装ID:W2CDFFVQMF9Z

序列号: QTT8R8-VA73VI-7JGKS3-CN5200 用户安装ID:W3SC9N1VWBWG

序列号: I60FED-4GG23J-945FS0-W55200 用户安装ID:W2WC7MYGXC9U

序列号: TCS1VM-W26QNL-NPGKRJ-VW5200 用户安装ID:W1DCD5PVTJTV

序列号: DLL220-JFD98G-4S24S4-NJ5200 用户安装ID:W4NCRP3YUGME

序列号: RLDPI3-EKBFTG-SL32S6-Q05200 用户安装ID:W2VC3WFUHAC7

序列号: VLL76J-7ND81K-QU21S2-SM5200 用户安装ID:W4YCJQZ3V8KA

序列号: 9SJ43W-IFTPPW-TJU0SN-NN5200 用户安装ID:W2F2PACJMXF3

序列号: 4IPNFN-H5M43U-T9FHS3-EF5200 用户安装ID:W27241QXWXHL

序列号: 802VUH-210MFC-8GALRK-AM5200 用户安装ID:W2E26FFI5XTN

序列号: SC25AJ-6R0GIK-QMN6RK-QPD200 用户安装ID:W2IDCE9KXPKS

序列号: AK21HI-AK0HKC-IL56RN-TTD200 用户安装ID:W2F2T9GM5EIP

序列号: AML8U3-IKLBW8-TL48S7-8Q5200 用户安装ID:W24CD58QN7EL

序列号: RSQM3D-ENVC8S-BLU0S1-SN5200 用户安装ID:W2X23ERN1UFP

序列号: DCWU73-3A7VHP-PRGURL-UP5200 用户安装ID:W1W2N2VWAYNZ

序列号: SINM7D-MULT9S-DNF0S4-Q85200 用户安装ID:W2X2HB7H3PAN

序列号: 7TU4HQ-QV78TE-EFG3RG-U35200 用户安装ID:W28CBY6FHA22

序列号: SPWETF-6W7RF3-QNSFS6-S15200 用户安装ID:W2W2UGRKL2ER

序列号: 3QFAUA-GWBSFA-K7PVRK-225200 用户安装ID:W2T2YCPTBW1J

序列号: 92Q40U-R9M8P7-EIFUSA-PI5200 用户安装ID:W242XDDYWXH7

序列号: FJ5MT4-SQQCF1-6WA5S8-RLD200 用户安装ID:4H98RL8V3B44

序列号: S3331I-MUPQ0C-LMA9S6-CHD200 用户安装ID:4HP2FMLVNB4B

序列号: 3E0D6R-0VG2HM-G6G2RK-8VD200 用户安装ID:4HBIYQX88B4B

序列号: QM99D8-M8IBJA-5J0DS7-5CD200 用户安装ID:4HB24VIY1B4U

序列号: 92Q40U-R9M8P7-EIFUSA-PI5200 用户安装ID:4hcph47tpb4x

序列号: 77PUHE-QPV6KB-ME6JS3-KM5200 用户安装ID:W15CF5MCFWRQ

序列号: EK72D3-3K1QB8-PU7CRM-F1D200 用户安装ID:W2BDX2HW66TI

序列号: DTRVAG-SA6MAK-6SLNRN-ASD200 用户安装ID:4HWKC868AB4X

序列号: 9G9V0Q-A92E86-AJCTRN-9RD200 用户安装ID: W15CV5M3GF6Q

序列号:MI0TMS-5KG75M-QDDLS0-1VE200 用户安装ID:7AHRR6LPN34G

序列号:MI0TMS-5KG75M-QDDLS0-1VE200 用户安装ID:W15CV5M3GF6Q

序列号: EK72D3-3K1QB8-PU7CRM-F1D200 ID: W2BDX2HW66TI

序列号: 4P0SFP-H7073V-49RCRQ-K8E200 ID: W2VDSV6M2HX7

序列号: MI0TMS-5KG75M-QDDLS0-1VE200 ID: 7AHRR6LPN34G

序列号: LDQ5RQ-LAE8MM-DALMRG-9PD200 ID:4HDP6HPCC245

序列号:blwgn5-ruft5q-en4arn-a9d200 ID: 6alh65ssle44

序列号:5ABRV3-QAIVNG-VAWDS7-5SD200 ID: 5A71LG9JEB4Z

序列号:080K3M-02050U-G0PVSC-AJE200 ID:6A94GZSK6F4R

够不够呀

标签: 序列号 顺序 结构
 
更多>最新的资讯
推荐图文
推荐生活服务
点击排行