sql >> Databasteknik >  >> RDS >> Sqlserver

Microsoft SQL Server:Något sätt att avgöra när en post skapades?

Nej.

Du måste ha en kolumn för detta.

Föreställ dig hur stor metadata skulle vara om du behövde hålla ett register för varje post för att skapa! Skulle du också vilja behålla metadata på din metadata så att du vet när metadata uppdaterades? Utrymmesanvändningen kan snabbt eskalera.

SQL Server håller en del statistik men något så här specifikt måste komma från ett användardefinierat fält.

Som en sidoanteckning kan du göra det svårare att manipulera datumet på ditt skapade fält om du använder en uppslagstabell. Skapa en tabell "TableName_CreateDate" och använd PK från din faktiska tabell och ett datumvärde. Ditt datum är på en separat plats och det är mindre sannolikt att det kommer att ändras men du kan fortfarande JOIN på den för att få din beställning. Du skulle behöva skapa en utlösare för att uppdatera detta med nya värden.

Om du bara vill ha DATE och inte behöver ett datetime-värde, kan du gå ett steg längre och bara ha en tabell över datum och en uppslagstabell som ansluter till det. Dvs:

Table->Table.PK + Date.Pk -> DateTable

Detta skulle spara mycket diskutrymme om du har många rader (4 byte per rad tror jag).



  1. Fönsterfunktioner och mer lokal aggregering

  2. Skulle singleton vara ett bra designmönster för en mikrobloggsajt?

  3. Ersätt första instans NULL eller ' ' med ett annat värde - MySQL

  4. FEL:otillfredsställande begränsningar vid installation av PostGIS på Alpine Docker-avbildningen