feed mysql表设计_关于FriendFeed的MySql SchemaLess设计的问题
这很简单 – 也许比你想象的要简单.
存储博客实体时,您当然要插入主实体表.博客是这样的:
CREATE TABLE entities (
id INT AUTO_INCREMENT PRIMARY KEY,entity_json TEXT NOT NULL
);
INSERT INTO entities (id,entity_json) VALUES (DEFAULT,'{userid: 8675309,post_date: "2010-07-27",title: "MysqL is Nosql",body: ... }'
);
您还可以为每个逻辑类型的属性插入单独的索引表.使用您的示例,博客的用户标识与推文的用户标识不同.由于您刚刚插入了博客,因此您可以插入索引表中的博客属性:
CREATE TABLE blog_userid (
id INT NOT NULL PRIMARY KEY,userid BIGINT UNSIGNED,KEY (userid,id)
);
INSERT INTO blog_userid (id,userid) VALUES (LAST_INSERT_ID(),8675309);
CREATE TABLE blog_date (
id INT NOT NULL PRIMARY KEY,post_date DATETIME UNSIGNED,KEY (post_date,id)
);
INSERT INTO blog_date (id,post_date) VALUES (LAST_INSERT_ID(),'2010-07-27');
不要插入任何推文索引表,因为你刚刚创建了一个博客,而不是一条推文.
您知道blog_userid参考博客中的所有行,因为这是您插入它们的方式.因此,您可以搜索给定用户的博客:
SELECT e.*
FROM blog_userid u JOIN entities e ON u.id = e.id
WHERE u.userid = 86765309;
你的评论:
是的,您可以将实际列添加到实体表中,以查找适用于所有内容类型的任何属性.例如:
CREATE TABLE entities (
id INT AUTO_INCREMENT PRIMARY KEY,entity_type INT NOT NULL,creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,entity_json TEXT NOT NULL
);
entity_type和creation_date的列允许您按时间顺序(或反向时间顺序)爬行实体,并知道哪组索引表与给定行的实体类型匹配.
feed mysql表设计_关于FriendFeed的MySql SchemaLess设计的问题相关推荐
- 商品分类 mysql表结构_商品多级分类,数据库设计
试试我的答案,如果哪里不好,请指出来,我也是初学者. 我的办法很简单,就是再类别表加一个父类型编号,也就是所有的自连接,以商品类型为例,数据表如下: Create Table ProductType ...
- linux 查看mysql表结构_新手进阶 查看MySQL表结构命令
MySQL查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_s ...
- mysql数据库系统原理_数据库系统原理及MySQL应用教程
作 者:李辉 等 编著 著作 定 价:56 出 版 社:机械工业出版社 出版日期:2016年01月01日 页 数:374 装 帧:平装 ISBN:9787111525127 本书以MySQL为平台,全 ...
- figma设计_如何在Figma中构建设计入门套件(第1部分)
figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...
- mysql 表列表_一个MySQL表中的多列表显示
从MySQL表中显示多列时遇到问题 这很简单 - 我有28条记录,我想做7行4行 - 每条记录只有两列 - id#和name(表中的"句柄"). 我的问题是,当我使用 > $ ...
- mysql表空间_浅谈mysql中各种表空间(tablespaces)的概念
mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一 ...
- 考试系统mysql数据库设计_《在线考试系统数据库设计与实现》.doc
网上测试系统 PAGE28 / NUMPAGES29 西南财经大学 Southwestern University of Finance and Economics 课程实验报告 课程名称: 数据库 ...
- php将excel数据导入mysql表中_利用php将xls表格数据以原生方式快速导入mysql
这里以联通的市区编码表为例,如图: 第一步,我们把xls表格中的首行作为mysql表中的字段,为了方便查看这里转换成了小写,表名随意,主键id可加可不加,看自己需求 第二步,将xls表格中除了首行以外 ...
- mysql表结构设计_数据库表结构设计
1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对 应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证 ...
最新文章
- mysql backup_MySQL备份还原——AutoMySQLBackup介绍
- linux dump用法,Linux命令之tcpdump命令用法介绍
- .Net Core中利用TPL(任务并行库)构建Pipeline处理Dataflow
- 【给自己的小练习2-线段树】
- sqlserver2008r2数据库关联孤立账号的方法
- PacketTracer 5.2基于AAA的Easy ×××实验
- 判断元素是否在ndarray_暨南大学药学院考研~手性的判断与相关介绍
- java获取数据库MetaData
- 【算法学习笔记】07.数据结构基础 链表 初步练习
- CVE-2014-6332学习笔记
- 剑指 只出现一次的数字
- easypoi/easyExcel导出excel(xls,xlsx)后,文件打开错误或乱码的解决方法
- 四周实现爬虫系统(1)-抓取tripadvisor猫途鹰网站数据信息
- 全球股市币市同迎黑色一天 熊市持现金或是王道 | 链塔快评
- 为什么c语言加法错误,分数的加减法——C语言初学者代码中的常见错误与瑕疵(12)...
- avr模拟串口通讯c语言,AVR的模拟串口的问题
- 【单片机】人体感应模块
- 信息系统安全导论第六章之软件安全
- QT之model-delegat-model---QAbstractListModel QAbstractTableModel 与 QItemDelegate关系
- orangepi——uart串口开发(TX,RX)