ื•ื•ืื• ืื™ื– ื“ื™ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ ื’ื™ื™ืŸ? ืึธื“ืขืจ ืงืึทื ืคืœื•ืึทื ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ

ื”ืึธื‘ืŸ ืื™ืจ ืืœืฅ ืœื•ื™ืคืŸ ืื•ื™ืก ืคื•ืŸ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ื™ืŸ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ, ืื•ืŸ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ืกืŸ ื•ื•ืขืจ ื•ืคึผืœืึธืึทื“ืก ื“ื™ ืžืขืจืกื˜ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ?

ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ืึธืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืึทืงืกืขืก ืฆื• ื“ื™ PostgreSQL ืงืึทื ืคืœื•ืึทื ืก ื“ืึทื˜ืึทื‘ื™ื™ืก.

ื ื™ืฆืŸ ืึท SQL ืึธื ืคึฟืจืขื’ ืงืขื’ืŸ ืึท PostgreSQL ื“ืึทื˜ืึทื‘ื™ื™ืก, ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ื ื•ืฆื™ืง ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืงืึธื ืคืœื•ืขื ืกืข.

ื’ืึทื ืฅ ื’ืจื™ื™ืก ืคื•ืŸ ืึทืœืข ืึทื˜ืึทื˜ืฉืžืึทื ืฅ ืื™ืŸ ืงืึธื ืคืœื•ืขื ืกืข:

SELECT s.spaceid,
       s.spacename,
       sum(LONGVAL)
FROM contentproperties c
JOIN content co ON c.contentid = co.contentid
JOIN spaces s ON co.spaceid = s.spaceid
WHERE c.contentid IN
    (SELECT contentid
     FROM content
     WHERE contenttype = 'ATTACHMENT')
  AND c.propertyname = 'FILESIZE'
GROUP BY s.spaceid
ORDER BY SUM DESC
LIMIT 5;

ืจืขื–ื•ืœื˜ืึทื˜ (ืกืคึผื™ื™ืก ื ืึธืžืขืŸ ืจื™ืคึผืœื™ื™ืกื˜):

ื•ื•ืื• ืื™ื– ื“ื™ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ ื’ื™ื™ืŸ? ืึธื“ืขืจ ืงืึทื ืคืœื•ืึทื ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ

ื‘ืœืขื˜ืขืจ ืžื™ื˜ ืจื•ื‘ึฟ ื”ื™ืกื˜ืืจื™ืฉืข ื•ื•ืขืจืกื™ืขืก ืงืึทืžื‘ื™ื™ื ื“:

SELECT title,
       MAX(VERSION)
FROM content
WHERE contenttype = 'PAGE'
GROUP BY title
ORDER BY 2 DESC
LIMIT 5;

ืžืกืงื ื:

ื•ื•ืื• ืื™ื– ื“ื™ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ ื’ื™ื™ืŸ? ืึธื“ืขืจ ืงืึทื ืคืœื•ืึทื ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ

ื“ื™ ื’ืจืขืกื˜ืข ืึทื˜ืึทื˜ืฉืžืึทื ื˜ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ื™ืŸ ืงืึธื ืคืœื•ืขื ืกืข ื‘ื™ื™ึทืฉืคึผื™ืœ

SELECT DISTINCT c.contentid,
                c.title AS attachmentTitle,
                u.username AS uploadedBy,
                co.title AS pageTitle,
                cn.longval AS bytes
FROM CONTENT AS c
JOIN USER_MAPPING AS u ON u.user_key = c.creator
JOIN CONTENT AS co ON c.pageid = co.contentid
JOIN CONTENTPROPERTIES AS cn ON cn.contentid = c.contentid
WHERE c.contenttype = 'ATTACHMENT'
  AND cn.longval IS NOT NULL
ORDER BY cn.longval DESC
LIMIT 5;

ืžืกืงื ื:

ื•ื•ืื• ืื™ื– ื“ื™ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ ื’ื™ื™ืŸ? ืึธื“ืขืจ ืงืึทื ืคืœื•ืึทื ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ

ื ื•ืžืขืจ ืคื•ืŸ ื‘ืœืขื˜ืขืจ ืื™ืŸ ื“ื™ ืงืึธืจื‘ ืื•ืŸ ื’ืึทื ืฅ ื’ืจื™ื™ืก ืคื•ืŸ ื‘ืœืขื˜ืขืจ ืื™ืŸ ื“ื™ ืงืึธืจื‘ ืคึผืขืจ ืคึผืœืึทืฅ:


SELECT Count(content.contentid) AS number_of_trashed_pages,
       Pg_size_pretty(SUM(Pg_column_size(bodycontent.BODY))) AS trash_total_size,
       spaces.spacename AS space_name
FROM bodycontent
INNER JOIN content ON (content.contentid = bodycontent.contentid)
INNER JOIN spaces ON (content.spaceid = spaces.spaceid)
WHERE bodycontent.contentid IN
    (SELECT contentid
     FROM content
     WHERE content_status = 'deleted'
       AND contenttype = 'PAGE')
GROUP BY space_name
ORDER BY trash_total_size
LIMIT 5;

ืžืกืงื ื:

ื•ื•ืื• ืื™ื– ื“ื™ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ ื’ื™ื™ืŸ? ืึธื“ืขืจ ืงืึทื ืคืœื•ืึทื ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ

ื’ืึทื ืฅ ื’ืจื™ื™ืก ืคื•ืŸ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ื“ื•ืจืš ื™ืขื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื•ื™ืฃ ืึทืœืข ื‘ืœืขื˜ืขืจ

SELECT u.lower_username,
       sum(cp.longval) AS "size"
FROM content c1
JOIN content c2 ON c1.contentid = c2.pageid
JOIN user_mapping u ON c1.creator=u.user_key
JOIN contentproperties cp ON c2.contentid = cp.contentid
WHERE c2.contenttype='ATTACHMENT'
GROUP BY u.lower_username
ORDER BY sum(cp.longval) DESC
LIMIT 5;

ืžืกืงื ื:

ื•ื•ืื• ืื™ื– ื“ื™ ืคึผืœืึทืฅ ืื•ื™ืฃ ื“ื™ ืงืึธื ืคืœื•ืขื ืกืข ืกืขืจื•ื•ืขืจ ื’ื™ื™ืŸ? ืึธื“ืขืจ ืงืึทื ืคืœื•ืึทื ืก ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืื•ื™ืฃ ืึทื˜ืึทื˜ืฉืžืึทื ืฅ

ืคึผืก ื”ืขืกืึธืคืข ื“ืขื ืคึผืึธืกื˜ืŸ ืžื™ื˜ ื ื•ืฆื™ืง SQL ืงื•ื•ื™ืจื™ื– ืคึฟืึทืจ ืงืึธื ืคืœื•ืขื ืกืข

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’