Database snel houden, verschillende table's of database's?

Status
Niet open voor verdere reacties.

gebruiker78

Gebruiker
Lid geworden
29 jun 2010
Berichten
428
Hallo,
ik ben bezig met een social netwerk en heb een vraag.
het word een site met allemaal verschillende "apps". dus stel je even voor ik wil dit van de gebruiker weten: (en nog veel meer)
naam achternaam email leeftijd dag geregistreerd woonplaats relatiestatus film/muziek smaak blogs, foto's etc.

dit is een voorbeeld met wat elke "app" bijvoorbeeld kan bevatten.
ik snap dat als ik veel gebruikers heb het niet slim is om alles in een table te doen omdat dan de database sloom word, dus het iets meer opsplitsen zoals:

1. naam achternaam email leeftijd dag geregistreerd
2. woonplaats relatiestatus film/muziek smaak
3. blogs, foto's

maar wat zou ik dan doen? 1 database maken met table 1,2,3 of voor elke 1,2,3 een speciale database te maken (ik snap dat het wat onhandig is om dan te coderen maar ik wil gewoon een zo snel mogelijke site)

dus wat is het handigst? table's, of voor ieder een speciale database
(als er nog iets anders sneller is mag dat ook)
 
Als je veel applicaties gaat schrijven die veel verschillende data nodig hebben is het gebruik van meerdere databases geen probleem.

Nu om kosten te drukken, kan je één database gebruiken en hierin voor elke app een schema aanmaken.

Je kan trouwens snelheid verhogen door gebruik te maken van "Indexed Views". Eenmaal gecreëerd stijgt niet alleen de betrouwbaarheid maar ook de performantie...

Tip: Denk ook heel goed na over een databaseontwerp!
 
Bedankt,
ik heb nu 2 dagen het internet afgezocht maar snap niet hoe ik dit precies doe.
stel je voor ik heb database TEST en table TBTEST en daar staat in id, naam, achternaam
1 David Bonting

hoe maak ik hier dan een indexed view van?
want ik heb resultaten gezien dat het echt wel 3x zo snel is.
 
Eigenlijk ben je nu al met Transact SQL (T-SQL) bezig.

Wanneer je in T-SQL een Indexed View schrijft moet je elke kolomnaam oproepen omdat dit verplicht is bij "Schemabinding"

In uw voorbeeld zou dit een mogelijke view kunnen zijn.

Voorbeeld in MS SQL 2008
[SQL]
--creatie view
CREATE VIEW [dbo].TestView WITH SCHEMABINDING AS
(
SELECT T.id, T.naam, T.achternaam FROM [dbo].[TBTEST] T
);
GO

--vervolgens voeg je de index toe
CREATE UNIQUE CLUSTERED INDEX IX_TestView_id ON TestView
(
id
);
GO

--view oproepen
SELECT * FROM TestView
[/SQL]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan