Hej. För att jag inte vill ha onödigt många kolumner och där kolumnen refererar till en Rubrik i en annan kolumn eller till en egendefinerad rubrik. Jag löste det som följande: >För att jag inte vill ha onödigt många kolumner Låter som en jävligt mysko datastruktur. Ni behöver inte vara oroliga. Jag har koll på vad jag gör.... Varför inte bara ha en tabell oh flagga dem som godkända eller ej. Samma gäller kategorier skapa dem och flagg dem som ej godkända. Vad händer med prestandan om låt säga man har 1000 godkända annonser och 2000 icke godkända annonser? Då ligger det 3000 annonser i samma tabell? Bör inte vara speciellt allvarligt, det lär ju ta längre tid att dra ut en rad och presentera den än att kolla om den är godkänd. I synnerhet om du har godkänd/icke-godkänd som index. och är det bara 1000 så är det väl inte speciellt allvarligt öht. Den här tråden kan gå hur långt som hels känner jag. <b>>> Bör inte vara speciellt allvarligt, det lär ju ta längre tid att dra ut en rad och presentera den än att kolla om den är godkänd. Låt oss separerar dessa två frågor till:Om värdet är ett tal
Går det att bygga en SQL sträng där man vill hämta från kolumnen om värdet är ett tal.
Typ Isnumeric().
Select * from tabellen where Isnumeric(kolumnen)
//DanielSv:Om värdet är ett tal
//DanneSv: Om värdet är ett tal
CONVERT(Rubrikkolumnen, SIGNED INTEGER) > 0
//DanneSv: Om värdet är ett tal
> CONVERT(Rubrikkolumnen, SIGNED INTEGER) > 0
Skulle vara intressant att se hur du dokumentaterar din databas.
- Denna kolumn kan innehålla många olika saker
a. bla bla
b.
c.
- Om innehållet i kolumnen består av siffror (dock inte enbart nollor) sker följande ....Sv: Om värdet är ett tal
Men så länga jag slipper underhållanden så får du göra vad fan du vill.
;-)Sv:Om värdet är ett tal
Jag kan inte avslöja vad jag gör men låt ge ett exempel.
Jag har ett köp & sälj forum där jag låter en moderator kontrollera alla annonser för att inte få slask i maskineriet. Jag har därför 2 tabeller - en för inkommande och en för godkända.
För att hitta i annonserna sorteras de efter kategorier.
Annonsören kan välja våra färdiga kategorier eller föreslå en egen kategori.
Moderatorn kontrollerar om kategorien är egendefinerad (text) eller ett tal som refererar till en kategori...Om den egendefinerade kategorien är okay skapas en kategori och annonsen godkänns.
Tabell: Inkommande
ID: Int
Rubrik: Sträng
Kategori: Sträng
Text: Sträng
Tabell: Godkända
ID: Int
Rubrik: Sträng
Kategori: Int
Text: Sträng
Tabell: Kategori
ID: Int
Text: Sträng
//DanneSv: Om värdet är ett tal
Sv:Om värdet är ett tal
Sv: Om värdet är ett tal
Jag hade snarare löst det som Hillqvist:
Tabell: Annonser
ID: Int
Rubrik: Sträng
Kategori: Int
Text: Sträng
Godkänd: Bool
Tabell: Kategorier
ID: Int
Rubrik: Sträng
Godkänd: Bool
När en annons läggs in och det är en ny kategori lägger man in kategorin direkt i tabellen, och säger att den inte är godkänd, annars tar man bara annonsen och säger att den inte är godkänd.Sv:Om värdet är ett tal
1. Det är inte annonser jag ska databasföra.
2. Databasen kommer att gå upp mot 300.000 rader och då gör det prestandaskillnad om man lagrar icke godkända i samma tabell.
3. Niklas:
> Bör inte vara speciellt allvarligt, det lär ju ta längre tid att dra ut en rad och presentera den än att kolla om den är godkänd.
Förstår inte vad du menar.
Tack för visat intresse, på ett vanligt Köp & Sälj forum så skulle jag göra som ni föreslår Niklas och Andreas, allt jag ville veta var hur man hämtar från en tabell där en kolumn inte innehåller siffror.Sv: Om värdet är ett tal
>Förstår inte vad du menar.</b>
1. Om du har en tabell med n kolumner, ska söka ut ett antal på kolumn i så kanske det tar 1 mikrosekund att kolla vad kolumn i innehåller. Att göra själva uthämtningen, alltså att ta fram de posterna som är aktuella, tar säg, n mikrosekunder styck. Förmodligen är det betydligt mer när de även ska presenteras etc., säg 10n mikrosekunder. Eftersom det tar mycket kort tid att kolla om rad nummer x ska vara med eller inte i förhållande till den tid som redan används så borde prestandan inte påverkas nämnvärt.
2. Om du indexerar på kolumn i så borde det gå extremt snabbt att ta fram posterna, i synnerhet om du bara har ett ja/nej-värde.
3. Att göra en typomvandlig är definitivt prestandasänkande i det här fallet, så frågan är om du tjänar något alls på det...
Jag skulle definitivt överväga en omdesign.Sv:Om värdet är ett tal
1. Ha samtliga annonser en tabell.
2. Lagra kategori id eller förslag på eget namn i samma kolumn.
Den viktigaste frågan är fråga två.
Jag tycker du bör separerar det till två kolumner.
* KategoriId
* EgetKategoriNamn
Om någon föreslår en egen kategori så lämnar de KategoriId tomt(Null) och fyller i ett i EgetKategoriNamn.
Om det vill använda en befintlig kategori väljer de ett KategoriId och man ignorerar värdet i EgetKategoriNamn.