2019独角兽企业重金招聘Python工程师标准>>>
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,