乙個產品留言統計查尋的分析比較

2021-05-24 06:12:19 字數 1485 閱讀 5292

//*******方式1:使用agency的targetusername

select com.productid,com.name,com.addtime,

sum(

case rev.isread

when 1 then 1

else 0

end )

as readed,

sum(

case rev.isread

when 0 then 1

else 0

end )

as unreaded,

count(rev.productid) as amount

from

agency as rev

inner join

product as com on rev.productid=com.productid

where  rev.targetusername='0576sy.cn'

group by com.productid,com.name,com.addtime,com.orderid

order by com.orderid

//*******方式二使用product.username

select com.productid,com.name,com.addtime,

sum(

case rev.isread

when 1 then 1

else 0

end )

as readed,

sum(

case rev.isread

when 0 then 1

else 0

end )

as unreaded,

count(rev.productid) as amount

from

agency as rev

inner join

product as com on rev.productid=com.productid

where  com.username='0576sy.cn'

group by com.productid,com.name,com.addtime,com.orderid

order by com.orderid

//*************end

使用product.username時查詢分析器顯示使用 hash match 來實現inner join ,上表是product,下表是agecny,因為productid在agency表中是外來鍵故效能比較差.

同時指定條件com.useranme='0576sy.cn' and rev.targetuseranme='0576sy.cn' 時,發現查尋分析器會忽略com.useranme條件,這說明查詢分析器自身的優化引擎也認可,採用rev.targetusername,當然在agency中引入了targetusername帶來了資料冗餘,另外時間成本降低了,空間成本卻增加了.

乙個簡單的PHP留言板

如果你已經有一定程式設計基礎請自行出門左轉 接下來我們就直接開始。首先構建乙個進入的主頁面 這是首頁 此處混編 接下來就是書提交到資料庫,此處對資料進行驗證一下,看是否提交了空資料 展示介面就是將已經寫好的資料,從資料庫中迴圈出來即可。include conn.php perpagenum 5 定義...

有感於乙個使用者的留言

今日有人在 discuz nt官方論壇發帖,勾起了我許多想說的話。nt,我說兩句。nt的測試版開始我便使用了她。已經1年多過去了。她的進步看在眼裡,不足也放在心裡。我起初是為了學習.net技術而選擇了discuz nt,因為其開源專案。但事與願為,本人沒有細心去研究discuz nt。而僅僅是從di...

express 框架實現乙個留言板

一 express e blog 二 cd blog cnpm install npm start 三 riews index.ejs 改提交介面 四 var add require rotes add 五 routes add.js rotes.post function req,res 六 連線...