MySQL 緩存表和匯總表都是在數(shù)據(jù)庫中存儲數(shù)據(jù)的兩種不同方式。緩存表是指對于一個查詢結(jié)果,將其緩存在內(nèi)存中,方便下次查詢時直接使用緩存的結(jié)果而不必再次讀取數(shù)據(jù)庫。而匯總表是在數(shù)據(jù)庫中創(chuàng)建一個新表,將原表中的數(shù)據(jù)按照一定的統(tǒng)計方法匯總,然后存儲到新表中。
緩存表的使用代碼如下: CREATE TABLE test_cache ( id INT PRIMARY KEY, name VARCHAR(20), age INT, KEY idx_age (age) ) ENGINE = MEMORY; INSERT INTO test_cache VALUES (1, 'Bob', 21), (2, 'Lucy', 22), (3, 'Tom', 25); SELECT * FROM test_cache;
在上述代碼中,我們使用 CREATE TABLE 創(chuàng)建了一個名為 test_cache 的緩存表,并使用 ENGINE 關(guān)鍵字指定其為 MEMORY。然后通過 INSERT INTO 向表中插入數(shù)據(jù),最后使用 SELECT 語句查詢緩存表中的數(shù)據(jù)。
匯總表的使用代碼如下: CREATE TABLE test_summary ( age INT, total INT, PRIMARY KEY(age) ); INSERT INTO test_summary SELECT age, COUNT(*) FROM test_cache GROUP BY age; SELECT * FROM test_summary;
在上述代碼中,我們使用 CREATE TABLE 創(chuàng)建了一個名為 test_summary 的匯總表,并指定其主鍵為 age。然后使用 INSERT INTO 和 SELECT 語句將緩存表 test_cache 中的數(shù)據(jù)按照年齡進行分組統(tǒng)計,并將結(jié)果存儲到匯總表 test_summary 中。最后,我們使用 SELECT 查詢匯總表中的數(shù)據(jù)。