Optymalizacja zapytania linq ?

Odpowiedz Nowy wątek
2011-09-29 09:13
linq
0

Jak mozna to zoptymalizowac bo mam time out'a ?

 public IEnumerable<string> GetPublikator(string publikator,string rok,string numer,string str,string dodatek)
        {
            bool czyAkt = CzyAkt(publikator);
            DataContext db = new DataContext();
            var q = from d in db.Doks
                    where d.P180.Substring(0,3) == publikator && d.Zeszyt.P110 == rok && d.Zeszyt.ZeszytP112s.Select(p => p.P112).Contains(numer)
                    && czyAkt ? d.Pozycja == str : d.PozycjaBezLiter == str && d.Zeszyt.Nazwa.Substring(13,3) == dodatek
                    select d.P180;
            return q;
        }
        public bool CzyAkt(string publikator)
        {
            if (publikator.StartsWith("DZU", StringComparison.CurrentCultureIgnoreCase) || publikator.StartsWith("MPO", StringComparison.CurrentCultureIgnoreCase) || publikator.StartsWith("E0L", StringComparison.CurrentCultureIgnoreCase))
                return true;
            else
                return false;
        } 

Pozostało 580 znaków

2011-09-29 12:01
ŁF
1

indeksy! już pytałeś o to w innym wątku. w zasadzie ten wątek to dubel i powinien wylądować w koszu.

jak widzę coś takiego, to mam gęsią skórkę:

            if (publikator.StartsWith("DZU", StringComparison.CurrentCultureIgnoreCase) || publikator.StartsWith("MPO", StringComparison.CurrentCultureIgnoreCase) || publikator.StartsWith("E0L", StringComparison.CurrentCultureIgnoreCase))
                return true;
            else
                return false;

tak się to robi:

    return publikator.StartsWith("DZU", StringComparison.CurrentCultureIgnoreCase) || publikator.StartsWith("MPO", StringComparison.CurrentCultureIgnoreCase) || publikator.StartsWith("E0L", StringComparison.CurrentCultureIgnoreCase)

edytowany 1x, ostatnio: ŁF, 2011-09-29 12:04

Pozostało 580 znaków

2011-09-29 21:10
0

przydałoby się formatowanie do tego:

return publikator.StartsWith("DZU", StringComparison.CurrentCultureIgnoreCase) ||
       publikator.StartsWith("MPO", StringComparison.CurrentCultureIgnoreCase) ||
       publikator.StartsWith("E0L", StringComparison.CurrentCultureIgnoreCase);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0