varchar vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Java Developer

Functieomschrijving Are you an experienced Java Developer who wants to be challenged? Then this is your job! As a Java Developer, you are co-responsible for building custom applications within our extensive IT landscape. Development takes place on both the back-end side (Spring/JEE). Together with the IT department, you are responsible for the daily adjustments and expansions of our IT systems. In addition, you will work in small scrum teams using the Agile methodologies. Besides the realization of our in-house systems, you are responsible for the roll-out of the application (version) as well as the operational support after going live. Team

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

Webshop beheerder / Fullstack developer

Functie omschrijving Wij zijn op zoek naar een full stack developer die zich bezig gaat houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Lees dan snel verder! Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

Junior .NET developer

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »
Ozzie PHP

Ozzie PHP

25/02/2017 21:07:17
Quote Anchor link
Hallo allemaal,

Een kort vraagje.

Als je een VARCHAR veld in je database hebt van bijv. 50 tekens, maakt het dan voor het geheugen of bestandsgrootte van de database iets uit of er wel of niet een waarde in dat veld staat?

Waarom ik dit graag wil weten ... ik wil ergens een hash gebruiken om een rij in een database te kunnen identificeren, maar dat hoeft maar 1x te gebeuren. Stel ik heb 1.000 rijen, dan heb ik dus ook 1.000 hashes. Aangezien ik de hash maar eenmalig nodig heb, zou ik het veld daarna kunnen leegmaken. Wordt daarmee de database dan ook kleiner? Of reserveert die VARCHAR(50) altijd dezelfde ruimte, ongeacht of je er wel of niet iets invult?
 
PHP hulp

PHP hulp

28/04/2024 12:03:48
 
Ben van Velzen

Ben van Velzen

25/02/2017 21:58:50
Quote Anchor link
De 50 bij een VARCHAR is een restrictie, geen directe reservering. Bij CHAR ligt dit anders. Verder is het maar de vraag of je database kleiner wordt na invullen/verwijderen van de waarde, omdat het nogal veel werk zou zijn om de data opnieuw te schikken wanneer dit niet strict noodzakelijk is.
 
Ozzie PHP

Ozzie PHP

25/02/2017 22:09:26
Quote Anchor link
Ben, dankjewel voor je toelichting.

Dus als ik je goed begrijp neemt een ingevuld VARCHAR veld altijd meer ruimte in dan een leeg VARCHAR veld?

>> Verder is het maar de vraag of je database kleiner wordt na invullen/verwijderen van de waarde, omdat het nogal veel werk zou zijn om de data opnieuw te schikken wanneer dit niet strict noodzakelijk is.

Ik snap niet echt wat je hiermee bedoelt.

Ik heb de hash eenmalig nodig en daarna niet meer. Wat gebeurt er dan als ik het veld leegmaak? Ik zou denken dat de database dan kleiner wordt, maar is dat niet zo?
 
Ben van Velzen

Ben van Velzen

25/02/2017 22:40:07
Quote Anchor link
>> Dus als ik je goed begrijp neemt een ingevuld VARCHAR veld altijd meer ruimte in dan een leeg VARCHAR veld?

Correct. De opslag bestaat uit een lengte gevolgd door de data, dus wanneer er niets ingevuld is staat er alleen een lengte van 0, meer niet.

>> Ik heb de hash eenmalig nodig en daarna niet meer. Wat gebeurt er dan als ik het veld leegmaak? Ik zou denken dat de database dan kleiner wordt, maar is dat niet zo?

Niet per definitie, je moet de inhoud van je database soortgelijk zien aan een bestandssysteem: er kan en zal fragmentatie optreden. Daarnaast krijg je nog te maken met ACID, de data binnen een transactie kan en mag niet van buiten de transactie veranderen. Dit wordt vaak (ook in innodb) opgelost met multiversion concurrency control, ofwel MVCC. Er worden altijd meerdere versies van dezelfde rij opgeslagen, een nieuwe versie per UPDATE. Het opschonen hiervan gebeurt wanneer gegarandeerd kan worden dat geen enkele transactie meer bezig is met een bepaalde versie, en ook hierbij kunnen gaten vallen in je datafile.
Gewijzigd op 25/02/2017 22:46:26 door Ben van Velzen
 
Ivo P

Ivo P

25/02/2017 22:58:45
Quote Anchor link
Je ziet vaak dat als een varchar veld leeg gemaakt wordt, de bestandsgrootte niet verandert. het lijkt er dan op, of de gebruikte ruimte blijft staan, net zolang tot er een actie is die genoeg actie veroorzaakt in de tabel om de ontstane gaten op te vullen.

Andere benadering zou voor jou mogelijk een losse tabel zijn met een id als FK naar je huidige tabel en een varchar voor je hash.
Na gebruik zou je in dat geval de rij kunnen delete-n.
 
Ben van Velzen

Ben van Velzen

25/02/2017 23:11:46
Quote Anchor link
Correct, maar de verwijdering van een rij op zichzelf maakt de ruimte ook niet direct vrij, tenzij het de laatste rij in je bestand is, en daar kun je geen voorspellingen over doen omdat de ruimte verdeeld wordt in pages. Je zou natuurlijk in dit specifieke geval een TRUNCATE kunnen doen, omdat de hashes maar eenmalig nodig zijn. Dit heeft geen last van genoemde problemen, omdat TRUNCATE een exclusief lock op de te legen table neemt, en gewoon alles wegmikt.
 
Ozzie PHP

Ozzie PHP

25/02/2017 23:35:38
Quote Anchor link
Hmmm ... oké ... een vrij ingewikkeld/technisch verhaal dus.

Het idee van de koppeltabel wat IVO voorstelt vind ik eigenlijk niet slecht. Dan kan ik de hashes ook mooi gescheiden houden van de echte data, en vaak zal het inderdaad gaan om de laatste rij.

Dat lijkt me dus een betere oplossing. Thanks!
 
Ben van Velzen

Ben van Velzen

26/02/2017 01:23:28
Quote Anchor link
>> Het idee van de koppeltabel wat IVO voorstelt vind ik eigenlijk niet slecht. Dan kan ik de hashes ook mooi gescheiden houden van de echte data, en vaak zal het inderdaad gaan om de laatste rij.

De laatste rij in je tabel is meestal niet gelijk aan de laatste rij in je datafile, doordat je te maken krijgt met onvoorspelbare herschikking. Vandaar dat je geen voorspellingen kan doen over wat je datafiles gaan doen.

Dit specifieke geval zou een reden zijn om "te ver" door te normaliseren, immers: je kunt efficienter je ruimte gebruiken wanneer je dit soort data integraal kan weggooien. Ik geloof dat OPTIMIZE je in andere gevallen zou kunnen helpen. Een database als PostgreSQL gebruikt hier VACUUM voor, of om de ruimte gegarandeerd vrij te geven VACUUM FULL. Dit rangschikt de data in de tabellen opnieuw, waardoor gaten verdwijnen. Het kan echter tot performance issues leiden op de korte termijn omdat je vlak na de opschoning te maken krijgt met het reserveren van nieuwe bestandsruimte. Voor MySQL geldt hetzelfde probleem, zie https://www.percona.com/blog/2010/12/09/mysql-optimize-tables-innodb-stop/
 
Ozzie PHP

Ozzie PHP

26/02/2017 02:33:11
Quote Anchor link
Het klinkt me allemaal nog te technisch (no offense, ligt aan mij) en ik weet niet of ik er op dit moment wel of niet iets mee 'moet' doen. Ik ga de hashes in ieder geval in een aparte koppeltabel zetten, en als ze niet meer nodig zijn dan verwijder ik de betreffende rij. Die koppeltabel zal dus altijd heel klein zijn en hooguit uit een paar rijen bestaan die zichzelf dan telkens weer 'opruimen'. Het voordeel is in ieder geval dat ik dan geen overbodige hashes hoef op te slaan, en dat er geen onnodig hash-veld in die andere tabel staat. Mocht het echt ooit traag worden, dan maak ik de database wel opnieuw aan ofzo :-)
 
Ben van Velzen

Ben van Velzen

26/02/2017 02:50:21
Quote Anchor link
Traagheid is een relatief begrip, en je zal over een beperkt aantal rijen (een aantal duizenden) geen significant verschil zien. Echter zal ook rij voor rij uit een koppeltabel verwijderen ook niet tot winst leiden. Hier geldt alles of niets. Of je verwijdert alles (en alleen TRUNCATE zal dit voor je doen) of je verandert niets aan je opstelling en je behaalt hetzelfde effect.

Ik moet hier wel bij zeggen dat ruimte niet meer is dan dat: ruimte. Als het om performance of efficientie gaat zou ik me eerder richten op de grootte van indexes en je caching instellingen. Hier haal je veel meer winst uit.

EDIT: het is inderdaad een technisch verhaal, maar databases zijn ook zeer technisch. Het is niet voor niets dat DBA's goed betaald worden, zij hebben de meeste kennis over wat je database doet (vooral intern) en wat tot performance kan leiden. Ik word onder andere hiervoor al jaren goed betaald.
Gewijzigd op 26/02/2017 02:52:58 door Ben van Velzen
 
Ozzie PHP

Ozzie PHP

26/02/2017 04:28:32
Quote Anchor link
Het zal niet een heel grote database zijn, dus het zal allemaal wel meevallen denk ik. En als het echt misgaat, huur ik je wel een dagje in ;-)
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2017 16:17:14
Quote Anchor link
Indien je de hash maar voor één ding gebruikt (bijvoorbeeld, ik noem maar wat, voor een activatiecode voor een gebruikersaccount) en hier al een tabel voor is (bijvoorbeeld een tabel users, gebruikers whatever) dan zou ik die hash gewoon opnemen in die tabel en als je de hash niet meer nodig hebt die kolom NULL maken (zijn NULLable kolommen trouwens voor diskruimte efficiënter of maakt dit niet uit?).

De hash heeft in dat geval namelijk buiten die tabel niet zoveel bestaansrecht en zoals hierboven staat kun je (mogelijk meer) winst pakken op andere plaatsen.

Je zou bijvoorbeeld via een cron alle tabellen bij tijd en wijlen OPTIMIZEn, dat kan, in ieder geval voor snelheid, al wat uitmaken.

Oh, en als je uitsluitend van InnoDB gebruik maakt maakten bepaalde instellingen nogal veel uit. In mijn inmiddels wat gedateerde WAMP-opstelling zag ik dat mijn MySQL-(hulp)bestanden alleen maar groter werden terwijl ik geen data aan het toevoegen was maar zelfs aan het verwijderen / OPTIMIZEn was. Het heeft weinig zin om deze instellingen te wijzigen als de database al actief is maar je zou kunnen proberen om aparte hulpbestanden aan te houden per tabel middels de flag innodb_file_per_table. En daarnaast zou je andere settings kunnen tweaken zoals expire_logs_days (voor een rotatie van de bin-files) en innodb_log_file_size en innodb_buffer_pool_size. De simpelste manier om je database met deze nieuwe instellingen te laten werken lijkt mij het opnieuw opzetten hiervan (dump, drop, (edit: en rond dit punt even de instellingen wijzigen uiteraard :p) import). Het is wat moeilijker om dit on-the-fly te doen.
Gewijzigd op 26/02/2017 16:19:27 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

26/02/2017 16:55:38
Quote Anchor link
Hebben eigenlijk alle database types last van dit soort problemen?

Kan ik in plaats van InnoDB beter voor iets anders kiezen dan?
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2017 23:36:19
Quote Anchor link
> Hebben eigenlijk alle database types last van dit soort problemen?
Geen idee eigenlijk.

> Kan ik in plaats van InnoDB beter voor iets anders kiezen dan?
Nou nee voor zo gauw ik weet niet, want InnoDB gebruik je voor echte relationele databases (foreign keys, transacties etc.).
 
Ozzie PHP

Ozzie PHP

26/02/2017 23:38:14
Quote Anchor link
Hmmm, oké thanks. Het blijft een vreemde materie die databases :-s
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.