我一直在試圖解決以下問題的最後幾天。DBMS:關係代數執行計劃成本計算
假設我們有以下兩張表。
電影(ID '標題,國家,Production_Date)
演員(ID',名稱,類型,國籍)
演員(Actor_ID」,Film_ID ',角色)
鑑於信息:
膜保持N(膜)= 50.000記錄,R(膜)= 40bytes,順序組織,在PK索引
演員持有N(演員)= 200.000記錄R(演員)= 80bytes,堆組織上PK索引
角色保持N(鑄)= 100.000記錄,R(澆鑄)= 25個字節,堆組織,沒有索引
執行樹和關係表達式執行計劃是在下面的圖片:
對於下級加盟模具之間&電影我計算如下:
塊嵌套循環連接:BCAST X Bfilm
指數嵌套循環連接:BCAST + Ncast X Cfilm
我保持INLJ給出的最小值。
問:
現在我該怎麼計算連接表的規模和新的R這是對新加入表中記錄的大小,以進行及計算上一級加盟在已經連接的表格和表格演員之間計算出連接操作所需的成本B之後?
這就是我的想法,但我怎麼能找出R(FILM_ID)爲了計算R(電影聯合鑄造)? – HelloIT
理論上只依賴CAST.FILM_ID列的數據類型。一個4字節的整數......等等。 VARBINARY或VARCHAR很難預測。可能會有一些開銷,實施明智。所以,這取決於你的RDBMS,你的模式和你的數據。 – nCessity