MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4842|回复: 3
打印 上一主题 下一主题

mysql cluster 建表和转引擎问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-16 11:26:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
mysql 版本 5.1.47 -ndb-7.1.5-cluster

现有表结构
CREATE TABLE IF NOT EXISTS `ret_article_1` (
  `article_id` varchar(255) NOT NULL,
  `article_name` varchar(255) NOT NULL,
  `article_img_url` varchar(255) NOT NULL,
  `article_deep_link` varchar(255) NOT NULL,
  `article_price` varchar(255) NOT NULL,
  `article_description` varchar(255) NOT NULL,
  `article_category` varchar(255) NOT NULL,
  `article_category_small_img_url` varchar(255) NOT NULL,
  `article_category_medium_img_url` varchar(255) NOT NULL,
  `article_category_big_img_url` varchar(255) NOT NULL,
  `article_category_img_url_120x600` varchar(255) NOT NULL,
  `article_category_img_url_160x600` varchar(255) NOT NULL,
  `article_category_img_url_255x250` varchar(255) NOT NULL,
  `article_category_img_url_468x60` varchar(255) NOT NULL,
  `article_category_img_url_728x90` varchar(255) NOT NULL,
  `article_currency_type` varchar(255) NOT NULL,
  `article_brand` varchar(255) NOT NULL,
  `update_time` int(10) NOT NULL,
  PRIMARY KEY (`article_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


MyISAM  转 ndbcluster 报错
#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8052. You have to change some columns to TEXT or BLOBs

查询了mysql cluster 建表限制后将表结构改为
CREATE TABLE IF NOT EXISTS `ret_article_1` (
  `article_id` varchar(255) NOT NULL,
  `article_name` varchar(255) NOT NULL,
  `article_img_url` text NOT NULL,
  `article_deep_link` text NOT NULL,
  `article_price` varchar(55) NOT NULL,
  `article_description` text NOT NULL,
  `article_category` varchar(255) NOT NULL,
  `article_category_small_img_url` text NOT NULL,
  `article_category_medium_img_url` text NOT NULL,
  `article_category_big_img_url` text NOT NULL,
  `article_category_img_url_120x600` text NOT NULL,
  `article_category_img_url_160x600` text NOT NULL,
  `article_category_img_url_255x250` text NOT NULL,
  `article_category_img_url_468x60` text NOT NULL,
  `article_category_img_url_728x90` text NOT NULL,
  `article_currency_type` text NOT NULL,
  `article_brand` text NOT NULL,
  `update_time` int(10) NOT NULL,
  PRIMARY KEY (`article_id`)
) ENGINE=ndbcluster  DEFAULT CHARSET=utf8;


第一觉得那么多text 会影响效率 请问有什么优化方法嘛?


第二当建立到第16张表时报错
CREATE TABLE IF NOT EXISTS `ret_article_16` (

`article_id` VARCHAR( 255 ) NOT NULL ,

`article_name` VARCHAR( 255 ) NOT NULL ,

`article_img_url` TEXT NOT NULL ,

`article_deep_link` TEXT NOT NULL ,

`article_price` VARCHAR( 55 ) NOT NULL ,

`article_description` TEXT NOT NULL ,

`article_category` VARCHAR( 255 ) NOT NULL ,

`article_category_small_img_url` TEXT NOT NULL ,

`article_category_medium_img_url` TEXT NOT NULL ,

`article_category_big_img_url` TEXT NOT NULL ,

`article_category_img_url_120x600` TEXT NOT NULL ,

`article_category_img_url_160x600` TEXT NOT NULL ,

`article_category_img_url_255x250` TEXT NOT NULL ,

`article_category_img_url_468x60` TEXT NOT NULL ,

`article_category_img_url_728x90` TEXT NOT NULL ,

`article_currency_type` TEXT NOT NULL ,

`article_brand` TEXT NOT NULL ,

`update_time` INT( 10 ) NOT NULL ,

PRIMARY KEY ( `article_id` )

) ENGINE = NDBCLUSTER DEFAULT CHARSET = utf8
MySQL 返回:
#1005 - Can't create table 'retargeting.ret_article_16' (errno: 708)



请问如何解决  谢谢






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶1 踩
2#
 楼主| 发表于 2010-9-16 11:26:45 | 只看该作者
在线等答案~~  
3#
发表于 2010-9-20 14:28:48 | 只看该作者
你用的了这么多text。都是 “无限”长。varchar不行吗
4#
 楼主| 发表于 2010-9-20 17:03:22 | 只看该作者
ndbcluster 引擎 varchar 多了就无法建表  不知道怎么优化mysql cluster配置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-1 16:33 , Processed in 0.062033 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表