• Welcome, Guest. Please login.
 
September 17, 2019, 09:48:44 am

News:

Welcome to the SQLitening support forums!


More memory

Started by Fim, March 17, 2017, 12:56:45 pm

Previous topic - Next topic

Fim

Is there any possibility to assign Sqlitening server more memory?
/Fim
Fim W

cj

March 18, 2017, 04:57:39 am #1 Last Edit: March 18, 2017, 05:01:14 am by cj
#STACK 2000000 'double stack space in SQlIteningServer.exe
http://www.tomsguide.com/forum/232079-49-assign-memory-application

Fim

Forgive my poor knowledge, but where do you put #STACK 2000000?
Should I start SQlIteningServer.exe manually and enter #STACK 2000000 as a parameter?
/ Fim
Fim W

cj

March 18, 2017, 11:01:49 pm #3 Last Edit: March 18, 2017, 11:03:39 pm by cj
#STACK statement is a PowerBASIC statement which is not in the SQLiteningServer.bas source code and is probably not what you are looking for.

1.  tell windows to increase the program priority for SqliteningServer.exe.
2   change System Properties, Advanced, Adjust for best performance, Background.
3   not sure if your server is low on memory
4   be sure a virus checker is not monitoring your directory
5   get the fastest solid state drive
6   add more memory to the machine
7   services.msc  get rid of unneeded processes


Are you running low on memory or having performance issues?
Some people on PowerBASIC site are experts at this.









Fim

Now I have a server with SSD and now the performance is ok.
Thanks for the advice.
/Fim
Fim W

cj

Is ok good?
My remote server is so fast I can't tell it is a remote server.



Fim

The following query gives me 391 lines in MLG in 1.27 seconds
Additionally, a check is done that  there are no relevant data in other three tables, one big.
MTR_START:
    SQL_SATS  = "SELECT MTR.EK_KVANT, MTR.FK_KVANT, MTR.ORDERNR, MTR.OPNR, ART.ARTBEN, VOR.ARTNR, MTR.RESVECKA, VOR.ORDERSTATUS "
    SQL_SATS += "FROM MTR LEFT JOIN VOR ON VOR.ORDERNR = MTR.ORDERNR LEFT JOIN ART ON ART.ARTNR = VOR.ARTNR "
    SQL_SATS += "WHERE MTR.ARTNR = " + $SQ + TRIM$(ART.ARTNR) + $SQ + " AND SLUTUTTAGMARK = "  + $SQ + $SQ + " AND ABS(EK_KVANT) < ABS(FK_KVANT)"
    SQL_SATS += " AND VOR.ORDERSTATUS <> " + $SQ + "S" + $SQ
    IF LEN(TRIM$(AKT_STATUS)) = 0 THEN  SQL_SATS += " AND VOR.ORDERSTATUS <> " + $SQ + "N" + $SQ
    SQL_SATS += " ORDER BY RESVECKA"
    KOM.SQL_SATS = SQL_SATS
    KOM.FUNKTION = "SQLS"
    CALL MTRIO(KOM, MTR)

MTR contains 1,183,000 rows and 17 columns.
VOR contains     63,000 rows and  43 columns.
ART includes      60,000 rows and 130 columns.


The second time the SQL statements executed with the same data, it takes 0.37 seconds, but then are probably all in some cache.

I think this is good.
/Fim
Fim W

Bern Ertl

SQL_SATS += " AND VOR.ORDERSTATUS <> " + $SQ + "S" + $SQ
IF LEN(TRIM$(AKT_STATUS)) = 0 THEN  SQL_SATS += " AND VOR.ORDERSTATUS <> " + $SQ + "N" + $SQ

~~~

If that condition is true more often than not, your SQL would likely be more efficient if you rewrote it:

sInvalid = $SQ + "S" + $SQ
IF LEN(TRIM$(AKT_STATUS)) = 0 THEN  sInvalid += "," + $SQ + "N" + $SQ
SQL_SATS += " AND VOR.ORDERSTATUS NOT IN (" + sInvalid + ")"

cj

> Is there any possibility to assign Sqlitening server more memory
Is there a memory issue?

Fim

No, I thought so. But that was not what the problem was.
Problem solved.
/Fim
Fim W

Fim

Bern,
No, IF LEN(TRIM$(AKT_STATUS)) = 0 is probably infrequent

/Fim
Fim W