1、仅仅是学习
前阵子手贱,下载网上流传的某酒店2000w开房记录,顺手就给下载了。下载cvs格式,导入数据时好多失败,随后下载Sql-Server-2008-R2版本的记录,由于模糊查询非常慢,就开始改造mysql版本的(注:SQL-Server不熟而且太占内存了,4G的基本跑起来比较费力)。贴上SQL-Server的建表语句:
CREATE TABLE [dbo].[cdsgus](
[Name] [nvarchar](2000) NULL,
[CardNo] [nvarchar](2000) NULL,
[Descriot] [nvarchar](2000) NULL,
[CtfTp] [nvarchar](2000) NULL,
[CtfId] [nvarchar](2000) NULL,
[Gender] [nvarchar](2000) NULL,
[Birthday] [nvarchar](2000) NULL,
[Address] [nvarchar](2000) NULL,
[Zip] [nvarchar](2000) NULL,
[Dirty] [nvarchar](2000) NULL,
[District1] [nvarchar](2000) NULL,
[District2] [nvarchar](2000) NULL,
[District3] [nvarchar](2000) NULL,
[District4] [nvarchar](2000) NULL,
[District5] [nvarchar](2000) NULL,
[District6] [nvarchar](2000) NULL,
[FirstNm] [nvarchar](2000) NULL,
[LastNm] [nvarchar](2000) NULL,
[Duty] [nvarchar](2000) NULL,
[Mobile] [nvarchar](2000) NULL,
[Tel] [nvarchar](2000) NULL,
[Fax] [nvarchar](2000) NULL,
[EMail] [nvarchar](2000) NULL,
[Nation] [nvarchar](2000) NULL,
[Taste] [nvarchar](2000) NULL,
[Education] [nvarchar](2000) NULL,
[Company] [nvarchar](2000) NULL,
[CTel] [nvarchar](2000) NULL,
[CAddress] [nvarchar](2000) NULL,
[CZip] [nvarchar](2000) NULL,
[Family] [nvarchar](2000) NULL,
[Version] [nvarchar](2000) NULL,
[id] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_cdsgus] PRIMARY KEY CLUSTERED ([id] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
从建表语句看,这表建得实在是不太好!不管,先看看数据有多少:
select COUNT(*) FROM [shifenzheng].[dbo].[cdsgus]; # 查询非常慢的(5分钟左右)
2、开始MySql之旅
开始导入数据(开始mysql建表语句也和上面一样),然后几经折腾,最终确定表结构如下(内存不够,放弃ENGINE=MEMORY):mysql> show create table customer;
+--------------------------+
| Table | Create Table
+--------------------------+
| customer | CREATE TABLE `customer` (
`Name` varchar(80) NOT NULL,
`CardNo` varchar(10) DEFAULT NULL,
`Descriot` varchar(100) DEFAULT NULL,
`CtfTp` varchar(4) DEFAULT NULL,
`CtfId` varchar(40) DEFAULT NULL,
`Gender` varchar(8) DEFAULT NULL,
`Birthday` int(9) DEFAULT NULL,
`Address` varchar(100) DEFAULT NULL,
`Zip` int(10) DEFAULT NULL,
`Dirty` varchar(20) DEFAULT NULL,
`District1` varchar(6) DEFAULT NULL,
`District2` varchar(4) DEFAULT NULL,
`District3` varchar(6) DEFAULT NULL,
`District4` varchar(6) DEFAULT NULL,
`District5` varchar(8) DEFAULT NULL,
`District6` varchar(20) DEFAULT NULL,
`FirstNm` varchar(50) DEFAULT NULL,
`LastNm` varchar(20) DEFAULT NULL,
`Duty` varchar(20) DEFAULT NULL,
`Mobile` varchar(40) DEFAULT NULL,
`Tel` varchar(40) DEFAULT NULL,
`Fax` varchar(40) DEFAULT NULL,