【发布时间】:2013-11-20 08:17:54
【问题描述】:
我是 mongoDB 的新手。我编写了一个简单的应用程序来管理产品。我使用 mongoDB。这是我的数据库
Category收藏:
db.category.insert({id:1,name:"Motor",description:"Sell Motor"})
db.category.insert({id:2,name:"Car":description:"Sell Car"})
Product收藏:
db.product.insert({id:1,name:"Honda CBR",price:15000,id_category:1})
db.product.insert({id:2,name:"Kawasaki ",price:16000,id_category:1})
db.product.insert({id:3,name:"Ford", price:50000,id_category:2})
我想找到Product 和Category 名字是Motor,我必须写树查询:
var result = db.category.find({name:"Motor"})
var cat = result.next().id
db.product.find({id_category:cat})
在 MySQL 中,我可以用两个表做同样的事情:
CREATE TABLE `product_manage`.`category`(
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(2000),
`description` VARCHAR(2000),
PRIMARY KEY (`id`)
);
CREATE TABLE `product_manage`.`product`(
`id` INT NOT NULL,
`name` VARCHAR(2000),
`price` INT,
`id_category` INT,
PRIMARY KEY (`id`)
);
所以我不知道在这个例子中 MongoDB 比 MySQL 有什么优势。 我想问更多:
在mysql中:
案例一:
select id into @id_cat where name="Motor"
select * from product where id_category = @id_cat
案例b:
select p.id,p.name,p.price from product p,category where p.id_category = category.id
and category.name = "Motor"
哪种情况对性能好?
【问题讨论】: