第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用SQL確定文本字段的字數(shù)統(tǒng)計

使用SQL確定文本字段的字數(shù)統(tǒng)計

慕沐林林 2019-12-04 10:09:45
我最近一直在研究一些數(shù)據(jù)庫搜索功能,希望獲得一些信息,例如每個文檔的平均單詞數(shù)(例如數(shù)據(jù)庫中的文本字段)。到目前為止,我發(fā)現(xiàn)的唯一內容(沒有在DB外部進行選擇的語言處理)是:SELECT AVG(LENGTH(content) - LENGTH(REPLACE(content, ' ', '')) + 1)FROM documents這似乎可行*,但您還有其他建議嗎?我目前使用的是MySQL 4(希望很快將其遷移至該應用程序的版本5),但也對通用解決方案感興趣。謝謝!*我可以想象這是確定它的一種相當粗糙的方法,因為它也沒有考慮內容等中的HTML。這個特定項目可以,但是還有更好的方法嗎?更新:定義“更好”的意思是:更準確,執(zhí)行效率更高或更“正確”(易于維護,良好實踐等)。對于我可用的內容,上面的查詢足夠快并且對于該項目來說是準確的,但是將來我可能需要類似的內容(所以我問)。
查看完整描述

3 回答

?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

MySQL的文本處理功能不足以滿足您的需求。存儲功能是一個選項,但可能會很慢。在MySQL中處理數(shù)據(jù)的最佳選擇是添加一個用戶定義的函數(shù)。無論如何,如果要構建MySQL的較新版本,也可以添加一個native函數(shù)。


“正確”的方法是在數(shù)據(jù)庫外部處理數(shù)據(jù),因為數(shù)據(jù)庫用于存儲而不是處理,并且任何繁重的處理都可能給DBMS帶來過多的負擔。此外,在MySQL之外計算字數(shù)使更改字數(shù)定義變得更加容易。更改文檔時如何將單詞計數(shù)存儲在數(shù)據(jù)庫中并進行更新?


存儲功能示例:


DELIMITER $$

CREATE FUNCTION wordcount(str LONGTEXT)

       RETURNS INT

       DETERMINISTIC

       SQL SECURITY INVOKER

       NO SQL

  BEGIN

    DECLARE wordCnt, idx, maxIdx INT DEFAULT 0;

    DECLARE currChar, prevChar BOOL DEFAULT 0;

    SET maxIdx=char_length(str);

    SET idx = 1;

    WHILE idx <= maxIdx DO

        SET currChar=SUBSTRING(str, idx, 1) RLIKE '[[:alnum:]]';

        IF NOT prevChar AND currChar THEN

            SET wordCnt=wordCnt+1;

        END IF;

        SET prevChar=currChar;

        SET idx=idx+1;

    END WHILE;

    RETURN wordCnt;

  END

$$

DELIMITER ;


查看完整回答
反對 回復 2019-12-04
?
HUH函數(shù)

TA貢獻1836條經(jīng)驗 獲得超4個贊

盡管速度略有降低,但速度要快得多。我發(fā)現(xiàn)它的計數(shù)為4%,對于“估計”方案來說還可以。


SELECT

    ROUND (   

        (

            CHAR_LENGTH(content) - CHAR_LENGTH(REPLACE (content, " ", "")) 

        ) 

        / CHAR_LENGTH(" ")        

    ) AS count    

FROM documents


查看完整回答
反對 回復 2019-12-04
  • 3 回答
  • 0 關注
  • 1410 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號